9Sep

Ubuntu slaat standaard geen SSD's TRIM op: waarom niet en hoe u het zelf kunt inschakelen

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 schijven( SSD's) werken anders. Telkens wanneer u een bestand naar een SSD schrijft, moet de computer eerst 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 elke keer 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 is al in december 2008 in Linux geïmplementeerd, maar Ubuntu gebruikt het standaard niet.

-GERELATEERDE ARTIKELEN
Wat is een solid-state drive( SSD) en Do not I One One?
Moet ik mijn SSD "optimaliseren" met software van derden?

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.

In 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 kernels realtime discard-ondersteuning te gebruiken met pre-3.1 kernels. Het is niet bekend wanneer de functionaliteit voor het weggooien van de kernels geoptimaliseerd is om voordelig te werken met 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 in te schakelen zoals Windows dat 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 realtime TRIM-bewerking van de Linux-kernel niet goed werkt, gebruiken de meeste Linux-distributies - waaronder Ubuntu - TRIM niet automatisch. Android heeft ook geen TRIM gebruikt 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 essentie analyseert de opdracht fstrim het bestandssysteem en informeert de drive 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 en het probleem te verhelpen dat al die oorspronkelijke Nexus 7s 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 uit te voeren.

Hoe kan ik TRIM

inschakelen? Wij raden af ​​om uw bestandssystemen met de "negeer" -bewerking te monteren, omdat dit bij normaal gebruik waarschijnlijk zal leiden tot 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 volgens een schema uitvoert.

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 het bovenstaande commando af en toe 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 TRIM regelmatig 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 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)