Domača » kako » Ubuntu ne TRIM SSD-ji po privzetku Zakaj ne in kako ga omogočiti sami

    Ubuntu ne TRIM SSD-ji po privzetku Zakaj ne in kako ga omogočiti sami

    Ubuntu želi privzeto omogočiti TRIM za SSD-je v Ubuntu 14.04. Z drugimi besedami, Ubuntu ne uporablja TRIM, zato se vaš SSD sčasoma upočasni. Toda zakaj Ubuntu že ne uporablja TRIM?

    Ta novica bo verjetno presenetila mnoge ljudi, ki so domnevali, da Ubuntu in druge distribucije Linuxa že uporabljajo TRIM. TRIM preprečuje, da bi se SSD-ji sčasoma upočasnili in je nujen del vzdrževanja SSD-ja.

    Zakaj je TRIM pomemben

    Pokazali smo, zakaj je TRIM pomemben prej. Ko izbrišete datoteko na starem magnetnem trdem disku, računalnik to datoteko preprosto označi kot izbrisano. Podatki o datoteki se zadržujejo na trdem disku - zato se lahko obnovijo izbrisane datoteke. Računalnik bo sčasoma prepisal izbrisane datoteke, ko jih bo prepisal z novimi podatki.

    Solid-state pogoni (SSD-ji) delujejo drugače. Kadarkoli pišete datoteko v SSD, mora računalnik najprej izbrisati vse podatke v sektorjih, v katere piše podatke. Sektorjev ne more preprosto prepisati v eni operaciji - najprej jih mora počistiti, nato pa pisati v prazne sektorje.

    To pomeni, da se bo SSD sčasoma upočasnil. Pisanje v sektorje SSD bo hitro prvič. Ko izbrišete nekaj datotek in jih znova poskusite napisati, bo to trajalo dlje. To je velik del razloga, zaradi katerega je Google prvotni Nexus 7 sčasoma upočasnil. Google je to popravil z implementacijo TRIM-a v Android 4.3. (Android uporablja tudi jedro Linuxa.)

    Ko je omogočen TRIM, operacijski sistem sporoči SSD vsakič, ko izbriše datoteko. Pogon lahko nato izbriše sektorje, ki vsebujejo datoteko, zato bo pisanje v sektorje v prihodnosti hitro.

    Z drugimi besedami, če ne uporabljate TRIM, se bo vaš SSD sčasoma upočasnil. Zato TRIM uporabljajo sodobne operacijske sisteme, vključno z operacijskimi sistemi Windows 7+, Mac OS X 10.6.8+ in Android 4.3+. TRIM je bil v Linuxu implementiran decembra 2008, vendar ga Ubuntu ne uporablja privzeto.

    Zakaj ne Ubuntu TRIM privzeto?

    Pravi razlog, zakaj Ubuntu privzeto ne uporablja TRIM SSD-je, je zato, ker je implementacija TRIM-a v jedro Linuxa počasna in povzroči slabo delovanje pri normalni uporabi.

    V operacijskih sistemih Windows 7 in 8 Windows pošlje ukaz TRIM vsakič, ko izbriše datoteko in pove pogonu, naj takoj izbriše bitove datoteke. Linux to podpira, ko so datotečni sistemi nameščeni z opcijo "discard". Vendar pa Ubuntu - in druge distribucije - zaradi razlogov učinkovitosti tega ne delajo privzeto.

    Wiki OpenSUSE vsebuje nekaj podrobnih informacij od razvijalca, ki je bolje seznanjen z jedrom Linuxa kot smo mi. Malo je datirano, vendar je verjetno še vedno res, ko gre za uspešnost:

    »Implementacija jedra v realnem času v 11.2, 11.3 in 11.4 ni optimizirana. Specifikacije zahteva, da trim podpira vektorizirani seznam razponov oblog, toda pri trimih jeder 3.0 se jedro uporablja samo z enim razponom zavržkov / trimov in s sedanjimi SSD-ji iz sredine leta 2011 se je izkazalo, da povzroča poslabšanje zmogljivosti namesto povečanja zmogljivosti. Obstaja nekaj razlogov za uporabo jedra v realnem času s podporo pred jedrskim programom 3.1. Ni znano, kdaj bodo funkcionalnosti zavržkov jedra optimizirane za delo s SSD-ji trenutne generacije. «[Vir]

    Z drugimi besedami, jedro Linuxa obravnava takšne ukaze TRIM v realnem času na počasen, neoptimiziran način. Omogočanje funkcije TRIM, podobno kot Windows, to je uporaba možnosti »zavrži«, povzroči, da sistem dejansko postane počasnejši, kot če TRIM sploh ni bil uporabljen. Ubuntu in druge distribucije Linuxa privzeto ne omogočajo »zavreči« za vaše datotečne sisteme, prav tako pa tudi ne.

    Obstaja še en način

    Ker operacija TRIM v realnem času v jedru Linuxa ne deluje dobro, večina distribucij Linuxa - vključno z Ubuntu - ne uporablja TRIM samodejno. Android tudi TRIM ni uporabljal do Androida 4.3.

    Vendar pa obstaja še en način za uporabo TRIM-a. Funkcijo FITRIM lahko uporabite namesto preprosto izdajanje ukaza TRIM vsakič, ko se datoteka izbriše. To se zgodi s pomočjo ukaza fstrim. V bistvu, ukaz fstrim analizira datotečni sistem in obvesti pogon, kateri bloki niso več potrebni, tako da jih lahko pogon zavrže. To pretvori TRIM iz operacije v realnem času v načrtovano opravilo. Z drugimi besedami, fstrim lahko izvaja TRIM kot cronsko opravilo. Ni razloga za to. Ne bo upočasnilo ničesar; to je samo še ena naloga za čiščenje, ki jo mora sistem opraviti po urniku.

    Pravzaprav je to pristop, ki ga je Google sprejel z Androidom 4.3. Android preprosto zažene nalogo fstrim, da občasno TRIM datotečni sistem, s čimer odpravi težavo, ki je upočasnila vse prvotne Nexus 7s.

    Ubuntu prav tako išče, da TRIM samodejno omogoči, da sistem redno izvaja fstrim. Upamo, da bo to del Ubuntu 14.04, tako da uporabniki Ubuntuja ne bodo prisiljeni, da se ukvarjajo s poslabšanjem zmogljivosti SSD-ja ali da bodo sami zagnali fstrim..

    Kako omogočiti TRIM

    Priporočamo, da datotečne sisteme ne namestite s postopkom zavrženja, saj bo to pri običajni uporabi verjetno počasnejše. Vendar pa lahko TRIM uporabite sami, tako da občasno zaženete ukaz fstrim ali ustvarite lastno cronjob, ki teče fstrim po urniku.

    Če želite TRIM vaš SSD na Ubuntu, preprosto odprite terminal in zaženite naslednji ukaz:

    sudo fstrim -v /

    Zgornji ukaz lahko občasno zaženete, da preprečite poslabšanje delovanja SSD-jev. Kako pogosto morate zagnati, je odvisno od tega, kako pogosto so datoteke izbrisane iz SSD-ja. Če poskusite zagnati ukaz s pogonom, ki ne podpira programa TRIM, boste videli napako.

    Če želite TRIM redno izvajati, lahko preprosto ustvarite cronjob, ki za vas zažene ukaz fstrim. Tukaj je, kako narediti barebones cron opravilo, ki bo to naredilo samodejno.

    Najprej zaženite naslednji ukaz, da odprete urejevalnik besedil nano z korenskimi dovoljenji:

    sudo nano /etc/cron.daily/fstrim

    Vnesite naslednjo kodo v datoteko:

    #! / bin / sh

    fstrim /

    Shranite datoteko s pritiskom na Ctrl + O in pritisnite Enter za potrditev. Pritisnite Ctrl + X, da zaprete nano po shranjevanju datoteke.

    Nazadnje zaženite naslednji ukaz, da bo skript izvedljiv:

    sudo chmod + x /etc/cron.daily/fstrim

    Ubuntu bo zdaj izvajal fstrim po urniku, prav tako kot druge naloge vzdrževanja sistema.


    Upoštevajte, da je TRIM podprt samo na sodobnih datotečnih sistemih, zato boste potrebovali nekaj takega kot ext4 in ne ext3 ali ext2. Če ne veste, kateri datotečni sistem uporabljate, ne skrbite - ext4 je privzeto izbran.

    Veliko teh nasvetov velja tudi za druge distribucije Linuxa. Medtem ko je Linux že davno izvajal podporo TRIM v jedru, se zdi, da podpora TRIM-a ni bila nikoli omogočena za običajne uporabnike v distribucijah Linuxa.

    Zasluge za slike: Mace Ojala na Flickr (obrezano)