Ubuntu ne TRIM SSD po defaultu: zašto ne i kako to omogućiti

Sadržaj:

Ubuntu ne TRIM SSD po defaultu: zašto ne i kako to omogućiti
Ubuntu ne TRIM SSD po defaultu: zašto ne i kako to omogućiti

Video: Ubuntu ne TRIM SSD po defaultu: zašto ne i kako to omogućiti

Video: Ubuntu ne TRIM SSD po defaultu: zašto ne i kako to omogućiti
Video: NETGEAR Nighthawk RAXE500 Router Full Review | Unboxing, Speed Tests, Range Tests, App and More... - YouTube 2024, Svibanj
Anonim
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?
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.

Zašto je TRIM važan

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 "prebrisati" sektore u jednoj operaciji - najprije ih mora očistiti, a zatim pisati u 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.

Zašto Ubuntu TRIM po defaultu?

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 se datotečni sustavi montiraju s opcijom "odbaciti". 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:

“The kernel implementation of realtime trim in 11.2, 11.3, and 11.4 is not optimized. The spec. calls for trim supporting a vectorized list of trim ranges, but as of kernel 3.0 trim is only invoked by the kernel with a single discard / trim range and with current mid 2011 SSDs this has proven to cause a performance degradation instead of a performance increase. There are few reasons to use the kernels realtime discard support with pre-3.1 kernels. It is not known when the kernels discard functionality will be optimized to work beneficially with current generation SSDs.” [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 "odbacivanje" - rezultat je da sustav zapravo postane sporiji nego da se TRIM uopće ne koristi. Ubuntu i ostale Linux distribucije ne omogućuju "odbacivanje" po defaultu za vaše datotečne sustave, a ne biste trebali.

Image
Image

Postoji još jedan način

Budući da u stvarnom vremenu Linuxov kernel "odbaci" TRIM operaciju 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.

Kako omogućiti TRIM

Ne preporučujemo ugradnju datotečnih sustava pomoću postupka "odbaci", jer će to vjerojatno rezultirati sporijom izvedbom u normalnoj 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.
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.
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.
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.

Preporučeni: