Hjemmeside » hvordan » Ubuntu TRIM ikke SSDs som standard, hvorfor ikke, og hvordan du aktiverer det selv

    Ubuntu TRIM ikke SSDs som standard, hvorfor ikke, og hvordan du aktiverer det selv

    Ubuntu ønsker å aktivere TRIM for SSD'er som standard i Ubuntu 14.04. Ubuntu bruker med andre ord ikke allerede TRIM, slik at SSD senker seg over tid. Men hvorfor bruker Ubuntu ikke allerede TRIM?

    Denne nyheten vil trolig komme som en overraskelse for mange mennesker, som antok at Ubuntu og andre Linux-distribusjoner allerede brukte TRIM. TRIM forhindrer SSDs fra å bremse ned over tid og er en nødvendig del av SSD vedlikehold.

    Hvorfor TRIM er viktig

    Vi har dekket hvorfor TRIM er viktig før. Når du sletter en fil på en gammel, magnetisk harddisk, markerer datamaskinen bare den filen som slettet. Filens data stikker rundt på harddisken - derfor kan slettede filer bli gjenopprettet. Datamaskinen vil etter hvert overskrive de slettede filene når den overskriver sine sektorer med nye data.

    Solid State-stasjoner (SSDer) fungerer forskjellig. Når du skriver en fil til en SSD, må datamaskinen først slette data i sektorene den skriver dataene til. Det kan ikke bare "overskrive" sektorene i en operasjon - det må først rydde dem, og deretter skrive til de tomme sektorene.

    Dette betyr at en SSD vil senke over tid. Skrive til SSDs sektorer vil være rask første gang. Når du har slettet noen filer og prøver å skrive til det igjen, vil det ta lengre tid. Dette er en stor del av grunnen til at Googles opprinnelige Nexus 7 bremset så mye over tid. Google fastsatte dette ved å implementere TRIM i Android 4.3. (Android bruker også Linux-kjernen.)

    Med TRIM aktivert, forteller operativsystemet SSD hver gang det sletter en fil. Stasjonen kan deretter slette sektorene som inneholder filens innhold, så skriving til sektorene vil være rask i fremtiden.

    Med andre ord, hvis du ikke bruker TRIM, vil SSD din sakte over tid. Derfor bruker moderne operativsystemer, inkludert Windows 7+, Mac OS X 10.6.8+ og Android 4.3+ TRIM. TRIM ble implementert i Linux tilbake i desember 2008, men Ubuntu bruker det ikke som standard.

    Hvorfor ikke Ubuntu TRIM som standard?

    Den virkelige grunnen til at Ubuntu ikke er TRIM SSD-er som standard, er fordi Linux-kjernens implementering av TRIM er sakte og resulterer i dårlig ytelse ved normal bruk.

    På Windows 7 og 8 sender Windows en TRIM-kommando hver gang den sletter en fil, og forteller stasjonen for å umiddelbart slette biter av filen. Linux støtter dette når filsystemer er montert med "kaste" -alternativet. Ubuntu - og andre distribusjoner - gjør det imidlertid ikke som standard for ytelsesårsaker.

    OpenSUSEs wiki inneholder detaljert informasjon fra en utvikler som er mer kjent med Linux-kjernen enn vi er. Det er litt datert, men er sannsynligvis fortsatt sant når det gjelder ytelse:

    "Kjernen implementering av realtime trim i 11.2, 11.3 og 11.4 er ikke optimalisert. Spesifikasjonen kaller trim for å støtte en vektorisert liste over trimmer, men fra kjerne 3.0 er trim bare påkrevd av kjernen med et enkelt kaste / trim-område og med nåværende midten av 2011 SSDs har dette vist seg å forårsake en ytelsesforringelse i stedet for en ytelsesøkning. Det er få grunner til å bruke kjernenes realtime kaste støtte med pre-3.1 kjerne. Det er ikke kjent når kjernefyllingsfunksjonaliteten vil bli optimalisert for å fungere gunstig med dagens generasjons SSD-er. "[Kilde]

    Med andre ord håndterer Linux-kjernen slike sanntids-TRIM-kommandoer på en langsom, uoptimert måte. Aktiverer TRIM ligner hvordan Windows gjør - det vil si ved å bruke "kaste" -alternativet - resulterer i at systemet faktisk blir langsommere enn om ikke TRIM ble brukt i det hele tatt. Ubuntu og andre Linux-distribusjoner aktiverer ikke "kaste" som standard for filsystemene dine, og du bør heller ikke.

    Det er en annen måte

    Fordi Linux-kjernens realtid "kaste" TRIM-operasjon ikke fungerer bra, bruker de fleste Linux-distribusjoner - inkludert Ubuntu - ikke TRIM automatisk. Android brukte heller ikke TRIM til Android 4.3.

    Men det er en annen måte å bruke TRIM på. I stedet for å bare utstede TRIM-kommandoen hver gang en fil slettes, kan FITRIM-funksjonen brukes. Dette skjer via fstrim-kommandoen. I hovedsak analyserer fstrim-kommandoen filsystemet og informerer stasjonen hvilke blokker ikke lenger er nødvendig, slik at stasjonen kan kaste dem bort. Dette gjør TRIM fra en sanntidsoperasjon til en planlagt oppgave. Fstrim kan med andre ord utføre TRIM som en cronjobb. Det er ingen grunn til ikke å gjøre dette. Det vil ikke bremse noe; Det er bare en annen housecleaning-oppgave systemet må utføre på en tidsplan.

    Faktisk er dette tilnærmingen Google tok med Android 4.3. Android kjører bare en fstrim-oppgave av og til for å TRIM filsystemet, og løser problemet som reduserte alle de originale Nexus 7s.

    Ubuntu ser også på å aktivere TRIM automatisk ved at systemet regelmessig kjører fstrim. Dette vil forhåpentligvis være en del av Ubuntu 14.04, slik at Ubuntu-brukere ikke vil bli tvunget til å håndtere SSD-ytelsesforringelse eller drive fstrim alene.

    Slik aktiverer du TRIM

    Vi anbefaler ikke å montere filsystemene dine med "kaste" -operasjonen, da dette vil sannsynligvis resultere i lavere ytelse ved normal bruk. Du kan imidlertid bruke TRIM selv ved å kjøre fstrim-kommandoen eller skape din egen cronjob som kjører fstrim på en tidsplan.

    Å TRIM SSD på Ubuntu, bare åpne en terminal og kjør følgende kommando:

    sudo fstrim -v /

    Du kan kjøre kommandoen ovenfor til og med for å hindre ytelsesforringelse på SSD-er. Hvor ofte du trenger å kjøre det, avhenger av hvor ofte filer slettes fra SSD. Du får se en feil hvis du prøver å kjøre kommandoen med en stasjon som ikke støtter TRIM.

    Hvis du vil kjøre TRIM regelmessig, kan du bare lage en cronjob som kjører fstrim-kommandoen for deg. Slik gjør du en barebones cron jobb som gjør dette automatisk.

    Først kjør følgende kommando for å åpne nano tekstredigeringsprogrammet med root-tillatelser:

    sudo nano /etc/cron.daily/fstrim

    Skriv inn følgende kode i filen:

    #! / Bin / sh

    fstrim /

    Lagre filen ved å trykke Ctrl + O og trykk Enter for å bekrefte. Trykk Ctrl + X for å lukke nano etter lagring av filen.

    Sist, kjør følgende kommando for å gjøre scriptet kjørbar:

    sudo chmod + x /etc/cron.daily/fstrim

    Ubuntu vil nå kjøre fstrim på en tidsplan, akkurat som det gjør andre systemvedlikeholdsoppgaver.


    Vær oppmerksom på at TRIM bare støttes på moderne filsystemer, så du trenger noe som ext4 og ikke ext3 eller ext2. Hvis du ikke vet hvilket filsystem du bruker, ikke bekymre deg - ext4 er valgt som standard.

    Mye av dette rådet gjelder også for andre Linux-distribusjoner. Mens Linux implementerte TRIM-støtte i kjernen for lenge siden, virker dets TRIM-støtte aldri blitt aktivert som standard for typiske brukere i Linux-distribusjoner.

    Bilde Kreditt: Mace Ojala på Flickr (beskåret)