Ubuntu želi omogućiti TRIM za SSD po defaultu u Ubuntu 14.04. Drugim riječima, Ubuntu već ne koristi TRIM, tako da vaš SSD usporava tijekom vremena. Ali zašto Ubuntu već ne koristi TRIM?
Ova će vijest vjerojatno biti iznenađenje mnogim ljudima koji su pretpostavili da su Ubuntu i druge Linux distribucije već koristile TRIM. TRIM sprječava usporavanje SSD-a tijekom vremena i nužan je dio održavanja SSD-a.
Pokrili smo zašto je TRIM važan prije. Kada izbrišete datoteku na stari, magnetski tvrdi disk, računalo jednostavno označava tu datoteku kao izbrisanu. Podatci o datoteci stisnuli su se na tvrdom disku - zato se izbrisane datoteke mogu vratiti. Računalo će na kraju prebrisati izbrisane datoteke kada prebrisaju svoje sektore s novim podacima.
Solid-state pogoni (SSD-ovi) rade drugačije. Kad god napišete datoteku na SSD, računalo prvo mora izbrisati sve podatke u sektorima u kojima piše podatke. Ne može samo, nadograditi sektore u jednoj operaciji - najprije ih očistiti, a zatim pisati praznim sektorima.
To znači da će SSD usporiti tijekom vremena. Pisanje u sektoru SSD-a bit će brzo po prvi put. Nakon što izbrišete neke datoteke i ponovo pokušate pisati, to će potrajati duže. Ovo je veliki dio razloga što je Googleov izvorni Nexus 7 tijekom vremena usporio toliko. Google je to fiksirao implementiranjem TRIM-a na Androidu 4.3. (Android također koristi Linux kernel.)
S TRIM omogućenim, operacijski sustav priopćava SSD svaki put kad briše datoteku. Pogon tada može izbrisati sektore koji sadrže sadržaj datoteke, tako da pisanje u sektore će biti brže u budućnosti.
Drugim riječima, ako ne koristite TRIM, SSD će se usporiti tijekom vremena. Zato su moderni operacijski sustavi, uključujući Windows 7+, Mac OS X 10.6.8+ i Android 4.3+, upotrebljavali TRIM. TRIM je implementiran u Linuxu u prosincu 2008., ali Ubuntu ga ne koristi prema zadanim postavkama.
Pravi razlog zašto Ubuntu ne TRIM SSD-ovi po defaultu je zbog toga što je implementacija TRIM-a Linux kernela spora i rezultira slabom izvedbom u normalnoj upotrebi.
Na Windowsima 7 i 8, Windows šalje TRIM naredbu svaki put kad briše datoteku, rekavši pogonu da odmah briše bitove datoteke. Linux to podržava kada su datotečni sustavi montirani s opcijom "Čarobnjak". Međutim, Ubuntu - i druge distribucije - to ne napravi prema zadanim postavkama zbog razloga za izvedbu.
OpenSUSE wiki sadrži neke detaljne informacije od developera koji je više upoznat s Linux kernelom nego mi. Malo je datirano, ali je vjerojatno i dalje točno kada se radi o izvedbi:
, Implementacija kernela u realnom vremenu u 11.2, 11.3 i 11.4 nije optimizirana. Spek. pozivi za podrezivanje podržavaju vektorizirani popis raspona raspona, ali od jezgre kernela 3.0 samo se poziva na kernel s jednim odbačenim / trim rasponom i s tekućim srednjim 2011 SSD-ima to je dokazano da uzrokuje degradaciju performansi umjesto povećanja performansi. Postoji nekoliko razloga za korištenje zrna u stvarnom vremenu odbaciti podršku s pred-3.1 kernelima. Nije poznato kada funkcionalnost odbacivanja jezgri će biti optimizirana kako bi radila korisno s trenutnim SSD generacijama. [Source]
Drugim riječima, Linux kernel upravlja takvim TRIM naredbama u stvarnom vremenu na sporo, neoptimiziran način. Omogućavanje TRIM-a sličnog načinu rada sustava Windows - tj. Korištenjem opcije "Čarobnjak" - rezultat je da sustav zapravo postaje sporiji nego da se TRIM uopće ne koristi. Ubuntu i ostale Linux distribucije ne omogućuju, po zadanom, za vaše datotečne sustave, a vi ne biste trebali.
Budući da u stvarnom vremenu Linux kernela ne radi dobro, većina Linux distribucija - uključujući Ubuntu - ne koristi TRIM automatski. Android također nije upotrebljavao TRIM sve do Android 4.3.
Ali postoji još jedan način korištenja TRIM-a. Umjesto jednostavno izdavanja naredbe TRIM svaki put kad se datoteka briše, može se koristiti značajka FITRIM. To se događa preko naredbe fstrim. U osnovi, fstrim naredba analizira datotečni sustav i obavještava pogon koji blokovi više nisu potrebni, pa ih pogon može odbaciti. Time TRIM iz operacije u stvarnom vremenu pretvara u rasporedu. Drugim riječima, fstrim može izvesti TRIM kao posredan posao. Nema razloga da to ne učinim. Neće ništa usporiti; to je samo još jedan zadatak čišćenja koji sustav mora obaviti na rasporedu.
Zapravo, to je pristup koji je Google uzeo s Androidom 4.3. Android jednostavno izvodi fstrim zadatak povremeno da TRIM datotečni sustav, popravljajući problem koji je usporio sve one izvorne Nexus 7s.
Ubuntu također gleda na omogućavanje TRIM-a automatski tako što sustav redovito izvodi fstrim. Nadamo se da će to biti dio Ubuntu 14.04, pa Ubuntu korisnici neće biti prisiljeni da se bave slabljenjem performansi SSD-a ili sami pokrenu fstrim.
Ne preporučujemo da ugradite datotečne sustave pomoću operacije, jer to će vjerojatno rezultirati sporijom izvedbom u uobičajenoj upotrebi. Međutim, možete koristiti TRIM sebe povremeno trčanje fstrim naredbu ili stvaranje vlastite cronjob koji radi fstrim na rasporedu.
Da biste TRIM vaš SSD na Ubuntu, jednostavno otvorite terminal i pokrenite sljedeću naredbu:
sudo fstrim -v /
Povremeno možete pokrenuti gornju naredbu kako biste spriječili degradaciju performansi na SSD-ovima. Koliko često trebate pokrenuti ovisi o tome koliko često se datoteke brišu s vašeg SSD-a. Ako pokušate pokrenuti naredbu s pogonom koji ne podržava TRIM, vidjet ćete pogrešku.
Ako želite redovito pokrenuti TRIM, možete jednostavno stvoriti cronjob koji pokreće fstrim naredbu za vas. Evo kako napraviti barebones cron posao koji će to učiniti automatski.
Prvo, pokrenite sljedeću naredbu za otvaranje nano uređivača teksta s root dozvolama:
sudo nano /etc/cron.daily/fstrim
Unesite sljedeći kôd u datoteku:
#! / Bin / sh
fstrim /
Spremite datoteku pritiskom na Ctrl + O i pritisnite Enter za potvrdu. Pritisnite Ctrl + X da biste zatvorili nano nakon spremanja datoteke.
Naposljetku, pokrenite sljedeću naredbu da izvršite skriptu:
sudo chmod + x /etc/cron.daily/fstrim
Ubuntu će sada pokrenuti fstrim na rasporedu, baš kao i drugi zadatci održavanja sustava.
Imajte na umu da je TRIM podržan samo na suvremenim datotečnim sustavima, tako da ćete trebati nešto poput ext4, a ne ext3 ili ext2. Ako ne znate koji sustav datoteka koristite, ne brinite se - ekst4 je prema zadanim postavkama odabran.
Velik dio ovog savjeta odnosi se i na druge Linux distribucije. Iako je Linux odavno proveo TRIM podršku u jezgri, njegova podrška TRIM-a nikada nije bila omogućena prema zadanim postavkama za tipične korisnike u Linux distribucijama.
Slika kredita: Mace Ojala na Flickr (ošišan)