9Sep

Ubuntu trimmt SSDs nicht standardmäßig: Warum nicht und wie man es selbst aktiviert

click fraud protection

Ubuntu möchte TRIM für SSDs standardmäßig in Ubuntu 14.04 aktivieren. Mit anderen Worten, Ubuntu verwendet TRIM nicht bereits, so dass sich Ihre SSD im Laufe der Zeit verlangsamt. Aber warum benutzt Ubuntu nicht bereits TRIM?

Diese Nachricht wird wahrscheinlich für viele überraschend sein, die annahmen, dass Ubuntu und andere Linux-Distributionen bereits TRIM verwenden. TRIM verhindert, dass SSDs mit der Zeit langsamer werden und ist ein notwendiger Bestandteil der SSD-Wartung.

Warum TRIM wichtig ist

Wir haben bereits erläutert, warum TRIM wichtig ist. Wenn Sie eine Datei auf einer alten, magnetischen Festplatte löschen, markiert der Computer diese Datei einfach als gelöscht. Die Daten der Datei bleiben auf der Festplatte - deshalb können gelöschte Dateien wiederhergestellt werden. Der Computer wird schließlich die gelöschten Dateien überschreiben, wenn er ihre Sektoren mit neuen Daten überschreibt.

Solid-State-Laufwerke( SSDs) funktionieren anders. Wenn Sie eine Datei auf eine SSD schreiben, muss der Computer zuerst alle Daten in den Sektoren löschen, in die die Daten geschrieben werden. Es kann nicht nur die Sektoren in einer Operation "überschreiben" - es muss sie zuerst löschen und dann in die leeren Sektoren schreiben.

instagram viewer

Dies bedeutet, dass eine SSD im Laufe der Zeit langsamer wird. Schreiben in die SSD-Sektoren wird das erste Mal schnell sein. Nachdem Sie einige Dateien gelöscht haben und versuchen, erneut darauf zu schreiben, dauert es länger. Dies ist ein großer Teil des Grunds, warum Googles ursprüngliches Nexus 7 im Laufe der Zeit so stark gebremst wurde. Google hat dies durch die Implementierung von TRIM in Android 4.3 behoben.(Android verwendet auch den Linux-Kernel.)

Wenn TRIM aktiviert ist, teilt das Betriebssystem die SSD jedes Mal mit, wenn es eine Datei löscht. Das Laufwerk kann dann die Sektoren löschen, die den Inhalt der Datei enthalten, sodass das Schreiben in die Sektoren in Zukunft schnell erfolgen wird.

Mit anderen Worten, wenn Sie TRIM nicht verwenden, wird sich Ihre SSD im Laufe der Zeit verlangsamen. Aus diesem Grund verwenden moderne Betriebssysteme wie Windows 7+, Mac OS X 10.6.8+ und Android 4.3+ TRIM.TRIM wurde im Dezember 2008 in Linux implementiert, aber Ubuntu verwendet es nicht standardmäßig.

VERWANDTE ARTIKEL
Was ist ein Solid State Drive( SSD), und brauche ich einen?
Muss ich meine SSD mit Drittanbieter-Software "optimieren"?

Warum nicht Ubuntu standardmäßig trimmen?

Der eigentliche Grund, warum Ubuntu SSDs nicht standardmäßig TRIMS erstellt, ist, dass die Implementierung von TRIM durch den Linux-Kernel langsam ist und bei normaler Verwendung zu schlechter Leistung führt.

Unter Windows 7 und Windows 8 sendet Windows bei jedem Löschen einer Datei einen TRIM-Befehl und weist das Laufwerk an, die Bits der Datei sofort zu löschen. Linux unterstützt dies, wenn Dateisysteme mit der Option "Verwerfen" bereitgestellt werden. Ubuntu - und andere Distributionen - tun dies aus Performancegründen jedoch nicht standardmäßig.

Das OpenSUSE-Wiki enthält detaillierte Informationen von einem Entwickler, der mit dem Linux-Kernel besser vertraut ist als wir. Es ist ein bisschen veraltet, aber wahrscheinlich gilt es immer noch, wenn es um die Leistung geht:

"Die Kernel-Implementierung der Echtzeit-Trimmung in 11.2, 11.3 und 11.4 ist nicht optimiert. Die Spezifikation.fordert eine Trimmung, die eine vektorisierte Liste von Trimmbereichen unterstützt, aber ab Kernel 3.0 wird der Trimm nur vom Kernel mit einem einzigen Verwerfungs- / Trimmbereich aufgerufen, und bei aktuellen SSDs von Mitte 2011 hat dies nachweislich zu einer Leistungsverschlechterung statt zu einer Leistungssteigerung geführt. Es gibt wenige Gründe, die Kernel-Realtime-Discard-Unterstützung mit Kernel vor 3.1 zu verwenden. Es ist nicht bekannt, wann die Kernel-Verwerfungsfunktionalität optimiert wird, um mit SSDs der aktuellen Generation zu arbeiten. "[Quelle]

Mit anderen Worten, der Linux-Kernel behandelt solche Echtzeit-TRIM-Befehle in einer langsamen, nicht optimierten Weise. Wenn Sie TRIM ähnlich wie Windows aktivieren, also die Option "Verwerfen" verwenden, wird das System tatsächlich langsamer, als wenn TRIM überhaupt nicht verwendet würde. Ubuntu und andere Linux-Distributionen aktivieren standardmäßig nicht die Option "Verwerfen" für Ihre Dateisysteme. Dies sollten Sie auch nicht tun.

Es gibt noch einen anderen Weg

Da der Echtzeit-TRIM-Vorgang des Linux-Kernels nicht gut funktioniert, verwenden die meisten Linux-Distributionen - einschließlich Ubuntu - TRIM nicht automatisch. Android hat TRIM auch erst ab Android 4.3 benutzt.

Aber es gibt noch eine andere Möglichkeit, TRIM zu verwenden. Statt einfach den TRIM-Befehl jedes Mal zu löschen, wenn eine Datei gelöscht wird, kann die FITRIM-Funktion verwendet werden. Dies geschieht über den Befehl fstrim. Im Wesentlichen analysiert der Befehl fstrim das Dateisystem und informiert das Laufwerk, welche Blöcke nicht mehr benötigt werden, sodass das Laufwerk sie verwerfen kann. Dadurch wird TRIM von einer Echtzeitoperation in eine geplante Aufgabe umgewandelt. Mit anderen Worten, fstrim kann TRIM als Cron-Job ausführen. Es gibt keinen Grund, dies nicht zu tun. Es wird nichts verlangsamen;Es ist nur eine weitere Hausputzaufgabe, die das System nach einem Zeitplan ausführen muss.

Dies ist der Ansatz, den Google mit Android 4.3 verfolgt hat. Android führt einfach eine fstrim-Aufgabe aus, um das Dateisystem zu TRIMIEREN, wodurch das Problem behoben wird, das alle diese ursprünglichen Nexus 7 verlangsamte.

Ubuntu versucht auch, TRIM automatisch zu aktivieren, indem das System regelmäßig fstrim ausführt. Dies wird hoffentlich Teil von Ubuntu 14.04 sein, so dass Ubuntu-Benutzer nicht gezwungen sein werden, sich mit der Verschlechterung der SSD-Leistung auseinanderzusetzen oder fstrim selbstständig zu betreiben.

Aktivieren von TRIM

Es wird nicht empfohlen, Ihre Dateisysteme mit dem Vorgang "Verwerfen" zu mounten, da dies bei normalem Gebrauch wahrscheinlich zu einer langsameren Leistung führt. Sie können jedoch TRIM verwenden, indem Sie gelegentlich den Befehl fstrim ausführen oder einen eigenen Cronjob erstellen, der fstrim nach einem Zeitplan ausführt.

Um Ihre SSD auf Ubuntu zu TRIMEN, öffnen Sie einfach ein Terminal und führen Sie den folgenden Befehl aus:

sudo fstrim -v /

Sie können den obigen Befehl gelegentlich ausführen, um Leistungseinbußen bei SSDs zu verhindern. Wie oft Sie es ausführen müssen, hängt davon ab, wie oft Dateien von Ihrer SSD gelöscht werden. Wenn Sie versuchen, den Befehl mit einem Laufwerk auszuführen, das TRIM nicht unterstützt, wird ein Fehler angezeigt.

Wenn Sie TRIM regelmäßig ausführen möchten, können Sie einfach einen Cronjob erstellen, der den Befehl fstrim für Sie ausführt. So erstellen Sie einen Barebone-Cron-Job, der dies automatisch erledigt.

Führen Sie zuerst den folgenden Befehl aus, um den Nano-Texteditor mit Stammberechtigungen zu öffnen:

sudo nano /etc/cron.daily/ fstrim

Geben Sie den folgenden Code in die Datei ein:

#!/bin/ sh

fstrim /

Speichern Sie die Datei, indem Sie Strg + O drücken, und drücken Sie zur Bestätigung die Eingabetaste. Drücken Sie Strg + X, um Nano nach dem Speichern der Datei zu schließen.

Führen Sie als letztes den folgenden Befehl aus, um das Skript ausführbar zu machen:

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

Ubuntu führt jetzt fstrim nach einem Zeitplan aus, genau wie andere Systemwartungsaufgaben.

Beachten Sie, dass TRIM nur auf modernen Dateisystemen unterstützt wird. Sie benötigen also etwas wie ext4 und nicht ext3 oder ext2.Wenn Sie nicht wissen, welches Dateisystem Sie verwenden, machen Sie sich keine Sorgen - ext4 ist standardmäßig ausgewählt.

Viele dieser Ratschläge gelten auch für andere Linux-Distributionen. Während Linux schon lange TRIM-Unterstützung im Kernel implementiert hat, scheint die TRIM-Unterstützung für typische Benutzer in Linux-Distributionen noch nie standardmäßig aktiviert worden zu sein.

Bild-Kredit: Mace Ojala auf Flickr( beschnitten)