Hemsida » hur » Ubuntu TRIM SSDs inte som standard varför inte och hur man aktiverar det själv

    Ubuntu TRIM SSDs inte som standard varför inte och hur man aktiverar det själv

    Ubuntu vill aktivera TRIM för SSD som standard i Ubuntu 14.04. Med andra ord använder Ubuntu inte redan TRIM, så din SSD saktar över tiden. Men varför använder Ubuntu inte redan TRIM?

    Dessa nyheter kommer sannolikt att komma som en överraskning för många människor, som antog att Ubuntu och andra Linux-distributioner redan använde TRIM. TRIM hindrar SSD från att sakta ner med tiden och är en nödvändig del av SSD-underhåll.

    Varför TRIM är viktigt

    Vi har täckt varför TRIM är viktigt före. När du tar bort en fil på en gammal magnetisk hårddisk markerar datorn bara den filen som raderad. Filens data pinnar runt på hårddisken - det är därför att borttagna filer kan återställas. Datorn kommer så småningom att skriva över de raderade filerna när den skriver över sina sektorer med nya data.

    Solid State-enheter (SSD) fungerar olika. När du skriver en fil till en SSD måste datorn först radera data i de sektorer där data skrivs till. Det kan inte bara "skriva över" sektorerna i en operation - det måste först rensa dem och skriva sedan till de tomma sektorerna.

    Det betyder att en SSD kommer att sakta ner över tiden. Att skriva till SSDs sektorer kommer att bli snabb första gången. När du har raderat några filer och försökt skriva till det igen tar det längre tid. Det här är en stor del av anledningen till att Googles ursprungliga Nexus 7 saktade ned så mycket över tiden. Google fastställde detta genom att implementera TRIM i Android 4.3. (Android använder också Linux-kärnan.)

    Med TRIM aktiverat, berättar operativsystemet SSD varje gång det tar bort en fil. Drevet kan sedan radera de sektorer som innehåller filens innehåll, så att skriva till sektorerna kommer att bli snabb i framtiden.

    Med andra ord, om du inte använder TRIM kommer din SSD att sakta ner med tiden. Det är därför moderna operativsystem, inklusive Windows 7+, Mac OS X 10.6.8+ och Android 4.3+ använder TRIM. TRIM implementerades i Linux tillbaka i december 2008, men Ubuntu använder inte det som standard.

    Varför går inte Ubuntu TRIM som standard?

    Den verkliga orsaken till att Ubuntu inte TRIM SSD-filer är som standard är att Linuxkärnans implementering av TRIM är långsam och resulterar i dålig prestanda vid normal användning.

    I Windows 7 och 8 skickar Windows ett TRIM-kommando varje gång det tar bort en fil och berättar om att enheten omedelbart raderar bitarna i filen. Linux stöder detta när filsystem är monterade med alternativet "kassera". Ubuntu - och andra utdelningar - gör det inte som standard för prestationsskäl.

    OpenSUSEs wiki innehåller detaljerade uppgifter från en utvecklare som är mer bekant med Linux-kärnan än vi är. Det är lite daterat, men är sannolikt fortfarande sant när det gäller prestanda:

    "Kärnan implementering av realtime trim i 11.2, 11.3 och 11.4 är inte optimerad. Spec. kräver att trim stöder en vektoriserad lista över trimområden, men från kärnan 3.0 är trim endast påkallad av kärnan med ett enda kasta / trimområde och med nuvarande mitten av 2011 SSD har detta visat sig orsaka en prestandadämpning istället för en prestandaförlängning. Det finns få anledningar att använda kärnornas realtidsförkastningsstöd med pre-3.1-kärnor. Det är inte känt när kärnans kasta funktionalitet kommer att optimeras för att fungera fördelaktigt med nuvarande generations SSD. "[Källa]

    Med andra ord hanterar Linux-kärnan sådana realtids TRIM-kommandon på ett långsamt, ooptimerat sätt. Att aktivera TRIM på samma sätt som Windows gör - det vill säga med alternativet "kasta bort" - resulterar i att systemet faktiskt blir långsammare än om inte TRIM användes alls. Ubuntu och andra Linux-distributioner aktiverar inte "kassera" som standard för dina filsystem, och du borde inte heller.

    Det finns ett annat sätt

    Eftersom Linux-kärnans realtid "kasta" TRIM-operation inte fungerar bra, använder de flesta Linux-distributioner, inklusive Ubuntu, inte automatiskt TRIM. Android använde inte heller TRIM till Android 4.3.

    Men det finns ett annat sätt att använda TRIM. I stället för att bara utfärda TRIM-kommandot varje gång en fil raderas kan FITRIM-funktionen användas. Detta händer via kommandot fstrim. I huvudsak analyserar fstrim-kommandot filsystemet och informerar den enhet som block inte längre behövs, så enheten kan kassera dem. Detta gör TRIM från en realtidsoperation till en schemalagd uppgift. Med andra ord kan fstrim utföra TRIM som ett cronjobb. Det finns ingen anledning att inte göra detta. Det kommer inte att sakta ner någonting; Det är bara en annan housecleaning-uppgift som systemet måste utföra på ett schema.

    Faktum är att det här är den metod som Google tog med Android 4.3. Android kör helt enkelt en fstrim-uppgift ibland för att TRIM filsystemet, vilket löser problemet som bromsade alla de ursprungliga Nexus 7s.

    Ubuntu ser också på att aktivera TRIM automatiskt genom att systemet regelbundet kör fstrim. Detta kommer förhoppningsvis att vara en del av Ubuntu 14.04 så att Ubuntu-användare inte kommer att tvingas ta itu med SSD prestanda försämring eller köra fstrim på egen hand.

    Så här aktiverar du TRIM

    Vi rekommenderar inte att du monterar dina filsystem med "kassera" -operationen, eftersom det troligtvis kommer att resultera i långsammare prestanda vid normal användning. Du kan dock använda TRIM själv genom att ibland köra kommandot fstrim eller skapa en egen cronjob som kör fstrim på ett schema.

    För att TRIM din SSD på Ubuntu, öppna helt enkelt en terminal och kör följande kommando:

    sudo fstrim -v /

    Du kan köra ovanstående kommando ibland för att förhindra prestandadämpning på SSD-enheter. Hur ofta du behöver köra det beror på hur ofta filer tas bort från din SSD. Du får se ett fel om du försöker köra kommandot med en enhet som inte stöder TRIM.

    Om du vill köra TRIM regelbundet kan du helt enkelt skapa en cronjob som kör fstrim-kommandot för dig. Så här gör du ett barebons cron jobb som gör det automatiskt.

    Först kör följande kommando för att öppna nano textredigeraren med root behörigheter:

    sudo nano /etc/cron.daily/fstrim

    Skriv följande kod i filen:

    #! / Bin / sh

    fstrim /

    Spara filen genom att trycka på Ctrl + O och tryck på Enter för att bekräfta. Tryck Ctrl + X för att stänga nano efter att du har sparat filen.

    Sist, springa följande kommando för att göra scriptet körbart:

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

    Ubuntu kommer nu att köra fstrim på ett schema, precis som det gör andra systemunderhållsuppgifter.


    Observera att TRIM endast stöds på moderna filsystem, så du behöver något som ext4 och inte ext3 eller ext2. Om du inte vet vilket filsystem du använder, oroa dig inte - ext4 är markerat som standard.

    Mycket av detta råd gäller även för andra Linux-distributioner. Medan Linux implementerade TRIM-stöd i kärnan för länge sedan, verkar dess TRIM-stöd aldrig ha varit aktiverat som standard för typiska användare i Linux-distributioner.

    Bildkredit: Mace Ojala på Flickr (beskuren)