Ubuntu ei vaikuta SSD-tiedostoihin oletusarvoisesti Miksi ei ja miten se voidaan ottaa käyttöön
Ubuntu haluaa ottaa käyttöön TRIM SSD: ille oletusarvoisesti Ubuntu 14.04. Toisin sanoen Ubuntu ei jo käytä TRIMiä, joten SSD hidastuu ajan myötä. Mutta miksi Ubuntu ei jo käytä TRIMiä?
Tämä uutinen tulee todennäköisesti yllätyksenä monille ihmisille, jotka olettivat, että Ubuntu ja muut Linux-jakelut käyttävät jo TRIMiä. TRIM estää SSD-laitteiden hidastumisen ajan myötä ja on välttämätön osa SSD-huoltoa.
Miksi TRIM on tärkeä
Olemme käsitelleet, miksi TRIM on tärkeä ennen. Kun poistat vanhan magneettisen kiintolevyn tiedoston, tietokone merkitsee vain tiedoston poistetuksi. Tiedoston tiedot tarttuvat kiintolevylle - siksi poistetut tiedostot voidaan palauttaa. Tietokone korvaa lopulta poistetut tiedostot, kun se korvaa alansa uusilla tiedoilla.
Solid-state-asemat (SSD) toimivat eri tavalla. Aina kun kirjoitat tiedoston SSD: hen, tietokoneen on ensin poistettava tiedot aloista, joille se kirjoittaa tietoja. Se ei voi vain ”korvata” sektoreita yhdessä toiminnassa - sen on ensin tyhjennettävä ne ja kirjoitettava sitten tyhjiin sektoreihin.
Tämä tarkoittaa, että SSD hidastuu ajan myötä. SSD: n toimialojen kirjoittaminen on nopeaa ensimmäistä kertaa. Kun olet poistanut joitakin tiedostoja ja yritä kirjoittaa sitä uudelleen, se kestää kauemmin. Tämä on suuri osa syystä, jonka Googlen alkuperäinen Nexus 7 hidastui niin paljon ajan myötä. Google vahvisti tämän toteuttamalla TRIMin Androidissa 4.3. (Android käyttää myös Linux-ydintä.)
Kun TRIM on käytössä, käyttöjärjestelmä kertoo SSD: lle aina, kun se poistaa tiedoston. Taajuusmuuttaja voi sitten poistaa tiedostot sisältäviä aloja, joten kirjoittaminen aloille on nopeaa tulevaisuudessa.
Toisin sanoen, jos et käytä TRIMiä, SSD hidastuu ajan myötä. Siksi nykyaikaiset 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ä oletusarvoisesti.
Miksi Ubuntu TRIM ei ole oletuksena?
Todellinen syy Ubuntu ei ole TRIM SSD: tä oletusarvoisesti siksi, että Linux-ytimen TRIM: n toteutus on hidasta ja johtaa huonoon suorituskykyyn normaalikäytössä.
Windows 7: ssä ja 8: ssa Windows lähettää TRIM-komennon joka kerta, kun se poistaa tiedoston, ja kertoo asemalle, että tiedosto poistetaan välittömästi. Linux tukee tätä, kun tiedostojärjestelmiä asennetaan ”hylkää” -vaihtoehdolla. Kuitenkin Ubuntu - ja muut jakelut - eivät tee tätä oletusarvoisesti suorituskyvyn vuoksi.
OpenSUSEn wiki sisältää joitakin yksityiskohtaisia tietoja kehittäjältä, joka tuntee paremmin Linux-ytimen kuin olemme. Se on hieman päivätty, mutta se on todennäköisesti edelleen totta, kun kyseessä on suorituskyky:
”Reaaliaikaisen leikkauksen ytimen toteutus 11.2, 11.3 ja 11.4 ei ole optimoitu. Spec. vaatii leikkaustukea, joka tukee vektorisoitua luetteloa leikkausalueista, mutta ytimen viitataan vain ytimellä 3.0 yhdellä hylkäämis- / leikkausalueella ja nykyisten puolivälissä olevien SSD: iden avulla tämä on osoittautunut aiheuttavan suorituskyvyn heikkenemistä suorituskyvyn kasvun sijaan. On vähän syitä käyttää ytimien reaaliaikaisia hylätystukea pre-3.1-ytimillä. Ei tiedetä, milloin ytimien hylkäämisominaisuudet optimoidaan toimimaan suotuisasti nykyisen SSD: n kanssa. ”[Lähde]
Toisin sanoen Linux-ydin käsittelee tällaisia reaaliaikaisia TRIM-komentoja hitaasti, optimoimattomalla tavalla. TRIM-toiminnon ottaminen käyttöön samalla tavalla kuin Windows - eli ”hylkää” -vaihtoehdon käyttäminen - johtaa siihen, että järjestelmä muuttuu hitaammin kuin jos TRIMiä ei käytettäisi lainkaan. Ubuntu ja muut Linux-jakelut eivät salli "hylätä" oletusarvoisesti tiedostojärjestelmissäsi, eikä sinun pitäisi myöskään.
On toinenkin tapa
Koska Linux-ytimen reaaliaikainen ”hylätä” TRIM-toiminto ei toimi hyvin, useimmat Linux-jakelut - Ubuntu mukaan lukien - eivät käytä TRIMiä automaattisesti. Android ei myöskään käyttänyt TRIMiä, ennen kuin Android 4.3.
Mutta on olemassa toinen tapa käyttää TRIMiä. FITRIM-ominaisuutta voidaan käyttää sen sijaan, että TRIM-komento annettaisiin joka kerta, kun tiedosto poistetaan. Tämä tapahtuu fstrim-komennon kautta. Fstrim-komento analysoi olennaisesti tiedostojärjestelmän ja ilmoittaa taajuusmuuttajalle, mitä lohkoja ei enää tarvita, joten asema voi hylätä ne. Tämä muuttaa TRIM: in reaaliaikaisesta toiminnosta ajoitetuksi tehtäväksi. Toisin sanoen fstrim voi suorittaa TRIMin cron-tehtävänä. Ei ole mitään syytä olla tekemättä tätä. Se ei hidastu mitään; se on vain toinen siivoustyö, jonka järjestelmän on suoritettava aikataulussa.
Itse asiassa tämä on lähestymistapa, jonka Google käytti Android 4.3: lla. Android yksinkertaisesti ajaa fstrim-tehtävää ajoittain TRIM-tiedostojärjestelmään ja korjaa ongelman, joka hidasti kaikkia alkuperäisiä Nexus 7s -järjestelmiä.
Ubuntu pyrkii myös mahdollistamaan TRIMin automaattisen käyttöönoton, kun järjestelmä ajaa säännöllisesti fstrimiä. Tämä on toivottavasti osa Ubuntu 14.04: ta, joten Ubuntu-käyttäjät eivät ole pakotettuja käsittelemään SSD: n suorituskyvyn heikkenemistä tai käyttämään fstrimiä omalla.
Miten TRIM-toiminto otetaan käyttöön
Emme suosittele tiedostojärjestelmien asennusta ”hylkää” -toiminnolla, koska tämä johtaa todennäköisesti hitaampaan suorituskykyyn normaalikäytössä. Voit kuitenkin käyttää TRIMiä itse käyttämällä fstrim-komentoa joskus tai luoda oman cronjobin, joka kulkee fstrimillä aikataulussa.
Jos haluat siirtää SSD: n Ubuntuun, avaa pääte ja suorita seuraava komento:
sudo fstrim -v /
Voit suorittaa yllä olevan komennon ajoittain estääkseen suorituskyvyn heikkenemisen SSD-laitteissa. Kuinka usein sinun täytyy suorittaa se riippuu siitä, kuinka usein tiedostot poistetaan SSD: stä. Näet virheen, jos yrität suorittaa komennon asemalla, joka ei tue TRIMiä.
Jos haluat ajaa TRIMia säännöllisesti, voit yksinkertaisesti luoda cronjobin, joka käyttää fstrim-komentoa. Näin voit tehdä barebones cron -työn, joka tekee tämän automaattisesti.
Suorita ensin komento avataksesi nano-tekstieditorin, jossa on pääkäyttäjän oikeudet:
sudo nano /etc/cron.daily/fstrim
Kirjoita seuraava koodi tiedostoon:
#! / Bin / sh
fstrim /
Tallenna tiedosto painamalla Ctrl + O ja vahvista painamalla Enter. Sulje nano tiedoston tallentamisen jälkeen painamalla Ctrl + X.
Suorita viimeinen komento komentosarjan suoritettavaksi:
sudo chmod + x /etc/cron.daily/fstrim
Ubuntu suorittaa nyt fstrim-ohjelman aikataulussa, aivan kuten muissa järjestelmän ylläpitotehtävissä.
Huomaa, että TRIM-toimintoa tuetaan vain moderneissa tiedostojärjestelmissä, joten tarvitset jotain ext4: ää ja ei ext3: ta tai ext2: ta. Jos et tiedä, mitä tiedostojärjestelmää käytät, älä huoli - ext4 on valittu oletusarvoisesti.
Suuri osa tästä neuvonnasta koskee myös muita Linux-jakeluja. Vaikka Linux toteutti TRIM-tuen ytimessä jo kauan sitten, sen TRIM-tuki näyttää olleen koskaan oletusarvoisesti käytössä tavallisille käyttäjille Linux-jakeluissa.
Kuvaluotto: Mace Ojala Flickrissä (rajattu)