9Sep
Ubuntu želi privzeto omogočiti TRIM za SSD v Ubuntu 14.04.Z drugimi besedami, Ubuntu že ne uporablja TRIM-a, zato vaš SSD sčasoma upočasni. Toda zakaj Ubuntu že uporablja TRIM?
Ta novica bo verjetno prišla kot presenečenje mnogim ljudem, ki so domnevali, da so že uporabljali distribucijo Ubuntu in drugih Linuxov. TRIM preprečuje SSD-je, da se sčasoma upočasnjujejo in so nujni del vzdrževanja SSD-ja.
Zakaj je TRIM pomemben
Razumeli smo, zakaj je TRIM pred tem pomemben. Ko izbrišete datoteko na stari, magnetni trdi disk, računalnik preprosto označuje to datoteko kot izbrisano. Podatki o datoteki se nahajajo na trdem disku - zato je mogoče obnoviti izbrisane datoteke. Računalnik bo sčasoma prepisal izbrisane datoteke, ko prepiše svoje sektorje z novimi podatki.
Trdi diski( SSD) delujejo drugače. Kadarkoli napišete datoteko na SSD, mora računalnik najprej izbrisati vse podatke v sektorjih, na katere piše podatke. Ne more samo "overwrite" sektorje v eni operaciji - najprej jih je treba izbrisati in nato napisati v prazne sektorje.
To pomeni, da se SSD sčasoma upočasni. Pisanje v sektorje SSD bo hitreje prvič.Ko izbrišete nekaj datotek in poskusite znova napisati, bo trajalo dlje. To je velik del razloga, ker je Googlov izvorni Nexus 7 sčasoma upočasnil. Google je to popravil z izvajanjem TRIM-a v sistemu Android 4.3.(Android uporablja tudi jedro Linuxa.)
Z omogočeno možnostjo TRIM operacijski sistem prikaže SSD vsakič, ko izbriše datoteko. Pogon lahko nato izbriše sektorje, ki vsebujejo vsebino datoteke, zato bo pisanje v sektorje hitro v prihodnosti.
Z drugimi besedami, če ne uporabljate TRIM, se bo vaš SSD sčasoma upočasnil. Zato sodobni operacijski sistemi, vključno z operacijskimi sistemi Windows 7+, Mac OS X 10.6.8+ in Android 4.3+ uporabljajo TRIM.TRIM je bil uveden v Linuxu decembra 2008, vendar ga Ubuntu ne uporablja privzeto.
Zakaj Ubuntu TRIM ni privzeto privzeto?
Resnični vzrok Ubuntu po privzetku ni TRIM SSD-je, ker je izvajanje jedra Linuxa TRIM počasno in povzroči slabe rezultate pri normalni uporabi.
V operacijskih sistemih Windows 7 in 8 Windows pošlje ukaz TRIM vsakič, ko izbriše datoteko, in povej pogonu, da takoj izbriše bite datoteke. Linux podpira to, ko so datotečni sistemi nameščeni z možnostjo "zavreči".Vendar pa Ubuntu - in druge distribucije - tega ne naredijo privzeto iz razlogov uspešnosti.
Wiki v OpenSUSE-u vsebuje nekaj podrobnih informacij od razvijalcev, ki bolj poznajo jedro Linuxa kot mi. To je nekoliko dated, vendar je verjetno še vedno res, ko gre za učinkovitost:
"Izvajanje jedra v realnem času trim v 11.2, 11.3 in 11.4 ni optimiziran. Spec.zahteva obrezovanje podpore vektoriziranem seznamu območij trim, vendar se jedro, ki se uporablja samo za jedrsko vrvico, uporablja samo za odrezavanje jedra 3.0 in s tekočimi SSD-ji sredi leta 2011 se je to izkazalo za poslabšanje zmogljivosti namesto povečanja zmogljivosti. Obstaja nekaj razlogov za uporabo podpore za zrcaljenje v realnem času z jedrima pred 3.1.Ni znano, kdaj bo funkcionalnost zavržkov jedrca optimizirana, da bo koristno delovala s trenutnimi SSD-ji. "[Source]
Z drugimi besedami, jedro Linuxa obravnava takšne ukaze TRIM v realnem času na počasen, neokrnjen način. Omogočanje TRIM-a, podobnega načinu Windows, to pomeni, da z uporabo možnosti "zavržemo" sistem dejansko postane počasnejši, kot če TRIM sploh ni bil uporabljen. Ubuntu in druge distribucije Linuxa ne omogočajo privzeto "zavreči" za svoje datotečne sisteme, prav tako pa ne smete.
Obstaja tudi drugačen način
Ker resnično "zavrženje" TRIM operacijskega sistema jedra v Linuxu ne deluje dobro, večina distribucij Linuxa - vključno z Ubuntu - ne uporablja samodejno TRIM.Android tudi ni uporabljal TRIMa do Android 4.3.
Ampak obstaja še en način uporabe TRIM-a. Namesto da preprosto izdate ukaz TRIM vsakič, ko datoteko izbrišete, lahko uporabite funkcijo FITRIM.To se zgodi preko ukaza fstrim. V bistvu ukaz fstrim analizira datotečni sistem in obvesti pogon, kateri bloki niso več potrebni, zato jih lahko zavrže. To naredi TRIM iz operacije v realnem času v načrtovano nalogo. Z drugimi besedami, lahko fstrim opravi TRIM kot cron delo. Ni razloga, da to ne storite. Ne bo upočasnila ničesar;to je samo še ena naloga, ki jo mora sistem opraviti na urniku.
Pravzaprav je to pristop, ki ga je Google z Androidom 4.3.Android preprosto zažene fstrim nalogo občasno TRIM datotečnega sistema, ki odpravlja težavo, ki je upočasnila vse tiste prvotne Nexus 7s.
Ubuntu prav tako skrbi za omogočanje TRIM-a, saj sistem redno izvaja fstrim. Upamo, da bo to del Ubuntu 14.04, da uporabniki Ubuntu ne bodo prisiljeni obravnavati razgradnje zmogljivosti SSD ali sami zagnati fstrim.
Kako omogočiti TRIM
Ne priporočamo namestitve vaših datotečnih sistemov z operacijo "zavržemo", ker bo to privedlo do počasnejše učinkovitosti pri normalni uporabi. Vendar pa lahko TRIM sami uporabite tako, da občasno zaganjate ukaz fstrim ali ustvarite lasten cronjob, ki teče po frazdu.
Če želite TRIM svoj SSD na Ubuntu, preprosto odprite terminal in zaženite naslednji ukaz:
sudo fstrim -v /
Zgoraj ukaz lahko občasno zaženete, da preprečite poslabšanje zmogljivosti na SSD-jih. Kako pogosto ga je treba zagnati, je odvisno od tega, kako pogosto so datoteke izbrisane iz vašega SSD-ja.Če poskusite zagnati ukaz z diskom, ki ne podpira možnosti TRIM, se prikaže napaka.
Če želite redno zagnati TRIM, lahko preprosto ustvarite cronjob, ki za vas izvaja ukaz fstrim. Tukaj je, kako narediti barebone cron delo, ki bo to naredil samodejno.
Prvič, zaženite naslednji ukaz, da odprete urejevalnik nano besedila s korenskimi dovoljenji:
sudo nano /etc/cron.daily/ fstrim
V datoteko vnesite to kodo:
#!/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 izvedite naslednji ukaz za izvedbo skripta:
sudo chmod + x /etc/cron.daily/ fstrim
Ubuntu bo zdaj zagnal fstrim v urniku, prav tako kot to opravlja druga naloga vzdrževanja sistema.
Upoštevajte, da je TRIM podprt samo na sodobnih datotečnih sistemih, zato boste potrebovali nekaj podobnega ext4, ne pa ext3 ali ext2.Če ne veste, kateri datotečni sistem uporabljate, ne skrbite - privzeto je izbrana možnost ext4.
Veliko teh nasvetov velja tudi za druge distribucije Linuxa. Medtem ko je Linux v zadnjem času izvajal podporo za TRIM v jedru, zdi se, da podpora TRIM za običajne uporabnike v distribuciji Linuxa ni bila privzeto omogočena.
Image Credit: Mace Ojala na Flickr( obrezano)