Tämä uutinen tulee todennäköisesti yllätyksenä monille ihmisille, jotka olettavat, että Ubuntu ja muut Linux-jakelut käyttävät jo TRIMiä. TRIM estää SSD-laitteiden hidastumista ajan kuluessa ja on välttämätön osa SSD-huoltoa.
Miksi TRIM on tärkeä
Olemme selvittäneet, miksi TRIM on tärkeä ennen. Kun poistat tiedoston vanha, magneettinen kiintolevy, tietokone yksinkertaisesti merkitsee kyseistä tiedostoa poistettuna. Tiedoston tiedot tarttuvat kiintolevyn ympärille - siksi poistetut tiedostot voidaan palauttaa. Tietokone lopulta korvaa poistetut tiedostot, kun ne korvaavat aloillaan uusia tietoja.
Solid-state-asemat (SSD) toimivat eri tavoin. Aina kun kirjoitat tiedoston SSD: hen, tietokoneen on ensin poistettava kaikki tiedot, joilla se kirjoittaa tietoja. Se ei voi vain "korvata" aloja yhdellä operaatiolla - se on ensin tyhjennettävä ja kirjoitettava tyhjiin sektoreihin.
Tämä tarkoittaa, että SSD hidastuu ajan myötä. SSD: n aloille kirjoittaminen on nopeaa ensimmäistä kertaa. Kun poistat joitain tiedostoja ja yrität kirjoittaa uudelleen, se kestää kauemmin. Tämä on suuri osa syytä, miksi Googlein alkuperäinen Nexus 7 hidasti niin paljon aikaa. Google vahvisti tämän toteuttamalla TRIMin Android 4.3: ssa. (Android käyttää myös Linux-ytimessä.)
Kun TRIM on käytössä, käyttöjärjestelmä kertoo SSD: lle aina, kun se poistaa tiedoston. Taajuusmuuttaja voi sitten pyyhkiä tiedostoja sisältäviä sektoreita, joten alalle kirjoittaminen on nopeaa tulevaisuudessa.
Toisin sanoen, jos et käytä TRIM-laitetta, SSD-laitteesi hidastuu ajan myötä. Siksi modernit käyttöjärjestelmät, kuten Windows 7+, Mac OS X 10.6.8+ ja Android 4.3+, käyttävät TRIMiä. TRIM toteutettiin Linuxissa joulukuussa 2008, mutta Ubuntu ei käytä sitä oletuksena.
Miksi Ubuntu TRIM ei ole oletuksena?
Todellinen syy siihen, että Ubuntu ei TRIM SSD: itä oletusarvoisesti ole, koska Linuxin ytimen TRIM-sovellus on hidas ja tuloksena on heikko suoritus normaalikäytössä.
Windows 7: ssä ja 8: ssa Windows lähettää TRIM-komennon aina, kun se poistaa tiedoston, kertoo asema poistavat tiedoston bittiä välittömästi. Linux tukee tätä, kun tiedostojärjestelmät asennetaan "hävitä" -vaihtoehdolla. Ubuntu - ja muut jakelut eivät kuitenkaan tee tätä oletuksena suorituskyvyn syistä.
OpenSUSEn wiki sisältää yksityiskohtaisia tietoja kehittäjältä, joka tuntee Linux-ytimen paremmin kuin me. Se on vähän päivätty, mutta on todennäköisesti edelleen totta, kun on kyse suorituskyvystä:
“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]
Toisin sanoen Linux-ytimessä käsitellään tällaisia reaaliaikaisia TRIM-komentoja hitaasti, optimaalisesti. Jos TRIM-toiminto on samankaltainen kuin Windowsin käyttäminen - eli "hävitä" -vaihtoehto, seuraa, että järjestelmä tosiasiassa hidastuu, jos TRIMiä ei käytetä ollenkaan. Ubuntu ja muut Linux-jakelut eivät salli "tiedostojen hylkäämistä" oletuksena, eikä sinun pitäisi.
On toinen tapa
Koska Linux-ytimen reaaliaikainen "hävitä" TRIM-toiminto ei toimi hyvin, useimmat Linux-jakelut - myös Ubuntu - eivät käytä TRIMiä automaattisesti. Android ei myöskään käyttänyt TRIMä, ennen kuin Android 4.3.
Mutta toinen tapa käyttää TRIMiä. Sen sijaan, että annat TRIM-komennon joka kerta, kun tiedosto poistetaan, FITRIM-ominaisuutta voidaan käyttää. Tämä tapahtuu fstrim-komennon kautta. Pohjimmiltaan fstrim-komento analysoi tiedostojärjestelmää ja kertoo taajuusmuuttajalle, mitkä lohkot eivät enää tarvita, joten asema voi heittää ne. Tämä muuttaa TRIM: n reaaliaikaisesta toiminnosta aikataulun mukaiseksi tehtäväksi. Toisin sanoen fstrim voi suorittaa TRIM: n cron-työnä. Ei ole mitään syytä olla tekemättä. Se ei hidasta mitään; se on vain toinen talonpoistotehtävä, jonka järjestelmän on suoritettava aikataulussa.
Itse asiassa tämä on lähestymistapa Google otti Android 4.3. Android yksinkertaisesti suorittaa fstrim-tehtävän satunnaisesti TRIM-tiedostojärjestelmään ja korjaa ongelman, joka hidasti kaikkia näitä alkuperäisiä Nexus 7: ää.
Ubuntu tarkastelee myös TRIMin automaattista käyttöönottoa, koska järjestelmä käyttää säännöllisesti fstrimia. Tämä on toivottavasti osa Ubuntu 14.04 -versiota, joten Ubuntu-käyttäjien ei tarvitse joutua käsittelemään SSD-suorituskyvyn heikkenemistä tai suorittamaan fstrimia itsestään.
Miten sallitaan TRIM
Emme suosittele tiedostojärjestelmien asentamista "hävitä" -toimintoon, koska tämä todennäköisesti johtaa hitaammin normaaliin käyttöön. Voit kuitenkin käyttää TRIMiä itse suorittamalla fstrim-komennon satunnaisesti tai luomalla oman froncron-komennon aikataulussa.
Voit katkaista SSD: n Ubuntun avulla avaamalla päätelaitteen ja suorittamalla seuraavan komennon:
sudo fstrim -v /
Jos haluat käyttää TRIMia säännöllisesti, voit luoda frontiokäskyä käsittelevän cronjobin.Näin tehdään barebones cron-työ, joka tekee tämän automaattisesti.
Avaa ensimmäinen komento avata nano-tekstieditori root-käyttöoikeuksilla:
sudo nano /etc/cron.daily/fstrim
Kirjoita seuraava koodi tiedostoon:
#!/bin/sh
fstrim /
Viime kädessä suorita seuraava komento, jotta komentosarja toimisi:
sudo chmod +x /etc/cron.daily/fstrim
Huomaa, että TRIMä tuetaan vain nykyaikaisissa tiedostojärjestelmissä, joten tarvitset jotain ext4: tä eikä ext3: a tai ext2: ta. Jos et tiedä mitä tiedostojärjestelmää käytät, älä huoli - ext4 on oletusarvoisesti valittu.
Suuri osa tästä neuvosta koskee myös muita Linux-jakeluja. Vaikka Linux asetti TRIM-tuen ytimeen kauan sitten, sen TRIM-tuki ei ole koskaan ollut oletusarvoisesti käytössä Linux-jakeluissa tyypillisille käyttäjille.