Startpagina » hoe » Ubuntu doet standaard geen TRIM SSD's Waarom niet en hoe het zelf in te schakelen

    Ubuntu doet standaard geen TRIM SSD's Waarom niet en hoe het zelf in te schakelen

    Ubuntu wil standaard TRIM voor SSD's inschakelen in Ubuntu 14.04. Met andere woorden, Ubuntu gebruikt TRIM nog niet, dus uw SSD vertraagt ​​na verloop van tijd. Maar waarom gebruikt Ubuntu TRIM nu al niet??

    Dit nieuws zal waarschijnlijk een verrassing zijn voor veel mensen, die veronderstelden dat Ubuntu en andere Linux-distributies al TRIM gebruikten. TRIM voorkomt dat SSD's na verloop van tijd vertragen en is een noodzakelijk onderdeel van SSD-onderhoud.

    Waarom TRIM belangrijk is

    We hebben besproken waarom TRIM eerder belangrijk was. Wanneer u een bestand op een oude, magnetische harde schijf verwijdert, markeert de computer dat bestand gewoon als verwijderd. De gegevens van het bestand blijven hangen op de harde schijf - daarom kunnen verwijderde bestanden worden hersteld. De computer zal uiteindelijk de verwijderde bestanden overschrijven wanneer deze hun sectoren met nieuwe gegevens overschrijven.

    Solid-state drives (SSD's) werken anders. Wanneer u een bestand naar een SSD schrijft, moet de computer eerst alle gegevens wissen in de sectoren waarnaar de gegevens worden geschreven. Het kan niet alleen de sectoren in één bewerking "overschrijven" - het moet ze eerst wissen en dan naar de lege sectoren schrijven.

    Dit betekent dat een SSD na verloop van tijd zal vertragen. Het schrijven naar de sectoren van de SSD zal de eerste keer snel zijn. Nadat u enkele bestanden hebt verwijderd en opnieuw probeert te schrijven, duurt het langer. Dit is een groot deel van de reden waarom Google's oorspronkelijke Nexus 7 in de loop van de tijd zoveel vertraagde. Google heeft dit opgelost door TRIM in Android 4.3 te implementeren. (Android gebruikt ook de Linux-kernel.)

    Als TRIM is ingeschakeld, vertelt het besturingssysteem de SSD telkens wanneer een bestand wordt verwijderd. De schijf kan dan de sectoren wissen die de inhoud van het bestand bevatten, dus schrijven naar de sectoren zal in de toekomst snel gebeuren.

    Met andere woorden, als u geen gebruik maakt van TRIM, zal uw SSD na verloop van tijd vertragen. Daarom gebruiken moderne besturingssystemen, waaronder Windows 7+, Mac OS X 10.6.8+ en Android 4.3+ TRIM. TRIM werd in december 2008 in Linux geïmplementeerd, maar Ubuntu gebruikt het standaard niet.

    Waarom werkt Ubuntu standaard niet TRIM?

    De echte reden dat Ubuntu standaard geen TRIM SSD's gebruikt, is omdat de implementatie van TRIM door de Linux-kernel traag is en resulteert in slechte prestaties bij normaal gebruik.

    Op Windows 7 en 8 verzendt Windows een TRIM-opdracht telkens wanneer een bestand wordt verwijderd en de drive wordt gevraagd de bits van het bestand onmiddellijk te verwijderen. Linux ondersteunt dit wanneer bestandssystemen zijn gekoppeld met de optie "negeren". Ubuntu - en andere distributies - doen dit echter niet standaard om prestatieredenen.

    De wiki van OpenSUSE bevat gedetailleerde informatie van een ontwikkelaar die meer bekend is met de Linux-kernel dan wij. Het is een beetje verouderd, maar is waarschijnlijk nog steeds waar als het gaat om prestaties:

    "De kernelimplementatie van realtime trim in 11.2, 11.3 en 11.4 is niet geoptimaliseerd. De spec. pleit voor trim met ondersteuning voor een gevectoriseerde lijst van trimbereiken, maar vanaf kernel 3.0 trim wordt alleen aangeroepen door de kernel met een enkel afleg / trimbereik en met huidige medio 2011 SSD's heeft dit bewezen een prestatievermindering te veroorzaken in plaats van een prestatieverhoging. Er zijn enkele redenen om de realtime-afdanking-ondersteuning van de kernels te gebruiken met pre-3.1 kernels. Het is niet bekend wanneer de functionaliteit voor het weggooien van de kernels zal worden geoptimaliseerd om weldadig te werken met de huidige generatie SSD's. "[Bron]

    Met andere woorden, de Linux-kernel behandelt dergelijke real-time TRIM-opdrachten op een langzame, niet-geoptimaliseerde manier. Door TRIM op dezelfde manier in te schakelen als Windows doet, dat wil zeggen, door de optie "negeren" te gebruiken, wordt het systeem langzamer dan wanneer TRIM helemaal niet werd gebruikt. Ubuntu en andere Linux-distributies schakelen standaard "negeren" niet in voor uw bestandssystemen, en dat zou u ook niet moeten doen.

    Er is een andere manier

    Omdat de TRIM-bewerking van de Linux-kernel in realtime "weggooien" niet goed werkt, gebruiken de meeste Linux-distributies - waaronder Ubuntu - TRIM niet automatisch. Android heeft ook geen gebruik gemaakt van TRIM tot Android 4.3.

    Maar er is een andere manier om TRIM te gebruiken. In plaats van gewoon de opdracht TRIM uit te geven telkens wanneer een bestand wordt verwijderd, kan de FITRIM-functie worden gebruikt. Dit gebeurt via de opdracht fstrim. In wezen analyseert de opdracht fstrim het bestandssysteem en informeert het station welke blokken niet langer nodig zijn, zodat de schijf deze kan negeren. Hiermee wordt TRIM van een realtime bewerking omgezet in een geplande taak. Met andere woorden, fstrim kan TRIM uitvoeren als een cron-taak. Er is geen reden om dit niet te doen. Het zal niets vertragen; het is gewoon een andere schoonmaaktaak die het systeem volgens schema moet uitvoeren.

    In feite is dit de aanpak die Google heeft gevolgd met Android 4.3. Android voert af en toe een fstrim-taak uit om het bestandssysteem te TRIMEN, waarmee het probleem wordt opgelost dat al die oorspronkelijke Nexus 7's vertraagde.

    Ubuntu kijkt ook naar het automatisch inschakelen van TRIM door het systeem regelmatig fstrim te laten uitvoeren. Dit zal hopelijk deel uitmaken van Ubuntu 14.04, dus Ubuntu-gebruikers zullen niet gedwongen worden om zelf met degradatie van SSD-prestaties om te gaan of fstrim zelf uit te voeren.

    Hoe TRIM in te schakelen

    We raden af ​​om uw bestandssystemen te monteren met de "verwijder" -bewerking, omdat dit bij normaal gebruik waarschijnlijk zal resulteren in tragere prestaties. Je kunt TRIM echter zelf gebruiken door af en toe de opdracht fstrim uit te voeren of door je eigen cronjob te maken die fstrim uitvoert volgens een schema.

    Als u uw SSD op Ubuntu wilt OVERSCHRIJVEN, opent u eenvoudigweg een terminal en voert u de volgende opdracht uit:

    sudo fstrim -v /

    U kunt de bovenstaande opdracht zo nu en dan uitvoeren om prestatievermindering op SSD's te voorkomen. Hoe vaak u het moet uitvoeren, is afhankelijk van hoe vaak bestanden van uw SSD worden verwijderd. Er verschijnt een foutmelding als u de opdracht probeert uit te voeren met een station dat TRIM niet ondersteunt.

    Als u regelmatig TRIM wilt uitvoeren, kunt u eenvoudig een cronjob maken die de opdracht fstrim voor u uitvoert. Hier ziet u hoe u een cron-taak met barebones maakt die dit automatisch doet.

    Voer eerst de volgende opdracht uit om de nano-teksteditor met basisrechten te openen:

    sudo nano /etc/cron.daily/fstrim

    Typ de volgende code in het bestand:

    #! / Bin / sh

    fstrim /

    Sla het bestand op door op Ctrl + O te drukken en druk op Enter om te bevestigen. Druk op Ctrl + X om nano te sluiten na het opslaan van het bestand.

    Voer ten slotte de volgende opdracht uit om het script uitvoerbaar te maken:

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

    Ubuntu voert nu fstrim volgens schema uit, net zoals andere systeemonderhoudstaken.


    Merk op dat TRIM alleen wordt ondersteund op moderne bestandssystemen, dus je hebt iets nodig als ext4 en niet ext3 of ext2. Als u niet weet welk bestandssysteem u gebruikt, hoeft u zich geen zorgen te maken. Ext4 is standaard geselecteerd.

    Veel van dit advies is ook van toepassing op andere Linux-distributies. Hoewel Linux lang geleden TRIM-ondersteuning in de kernel heeft geïmplementeerd, lijkt de TRIM-ondersteuning nog nooit standaard te zijn ingeschakeld voor standaardgebruikers in Linux-distributies..

    Image Credit: Mace Ojala op Flickr (bijgesneden)