Startseite » wie man » Ubuntu TRIM SSDs nicht standardmäßig, warum nicht und wie Sie es selbst aktivieren

    Ubuntu TRIM SSDs nicht standardmäßig, warum nicht und wie Sie es selbst aktivieren

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

    Diese Nachricht wird wahrscheinlich viele Leute überraschen, die davon ausgehen, dass Ubuntu und andere Linux-Distributionen bereits TRIM verwenden. TRIM verhindert, dass sich SSDs mit der Zeit verlangsamen, und ist ein notwendiger Bestandteil der SSD-Wartung.

    Warum ist TRIM wichtig?

    Wir haben bereits erläutert, warum TRIM so 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 erhalten. Aus diesem Grund können gelöschte Dateien wiederhergestellt werden. Der Computer überschreibt schließlich die gelöschten Dateien, wenn er seine 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 er die Daten schreibt. Es kann nicht einfach die Sektoren in einem Vorgang "überschreiben" - es muss sie zuerst löschen und dann in die leeren Sektoren schreiben.

    Dies bedeutet, dass sich eine SSD im Laufe der Zeit verlangsamt. Das Schreiben in die SSD-Sektoren wird beim ersten Mal schnell sein. Nachdem Sie einige Dateien gelöscht haben und erneut schreiben möchten, dauert es länger. Dies ist ein großer Teil des Grunds, warum Googles ursprüngliches Nexus 7 im Laufe der Zeit so stark abgebremst 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 der SSD jedes Mal mit, wenn eine Datei gelöscht wird. Das Laufwerk kann dann die Sektoren löschen, die den Inhalt der Datei enthalten, sodass das Schreiben in die Sektoren in der Zukunft schnell erfolgen kann.

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

    Warum funktioniert Ubuntu nicht standardmäßig??

    Der wahre Grund, warum Ubuntu SSIMs nicht standardmäßig TRIM macht, ist, dass die Implementierung von TRIM im Linux-Kernel langsam ist und bei normaler Verwendung zu einer schlechten Leistung führt.

    Unter Windows 7 und 8 sendet Windows jedes Mal einen TRIM-Befehl, wenn eine Datei gelöscht wird, und fordert das Laufwerk auf, die Bits der Datei sofort zu löschen. Linux unterstützt dies, wenn Dateisysteme mit der Option "discard" bereitgestellt werden. Ubuntu und andere Distributionen tun dies jedoch aus Leistungsgründen nicht standardmäßig.

    Das Wiki von OpenSUSE enthält einige detaillierte Informationen von Entwicklern, die mit dem Linux-Kernel vertraut sind, als wir. Es ist etwas veraltet, trifft aber wahrscheinlich auf Leistung zu:

    „Die Kernelimplementierung der Echtzeitanpassung in 11.2, 11.3 und 11.4 ist nicht optimiert. Die spec. fordert, dass trim eine vektorisierte Liste von Trim-Bereichen unterstützt, aber ab Kernel 3.0 wird der Trim nur vom Kernel mit einem einzigen Discard- / Trim-Bereich aufgerufen. Bei aktuellen SSDs für Mitte 2011 hat sich herausgestellt, dass dies eine Leistungsverschlechterung anstelle einer Leistungssteigerung bewirkt. Es gibt wenige Gründe, die Unterstützung für das Verwerfen von Kernels in Echtzeit mit Kerneln vor 3.1 zu verwenden. Es ist nicht bekannt, wann die Kernel-Verwerfungsfunktion optimiert wird, um mit SSDs der aktuellen Generation vorteilhaft zu arbeiten. "[Quelle]

    Mit anderen Worten, der Linux-Kernel verarbeitet solche Echtzeit-TRIM-Befehle auf langsame, nicht optimierte Weise. Wenn Sie TRIM ähnlich wie Windows aktivieren (dh die Option "Verwerfen"), wird das System tatsächlich langsamer, als wenn TRIM überhaupt nicht verwendet würde. Ubuntu und andere Linux-Distributionen aktivieren standardmäßig nicht "discard" für Ihre Dateisysteme, und Sie sollten auch nicht.

    Es geht auch anders

    Da der TRIM-Vorgang des Linux-Kernels in Echtzeit nicht ordnungsgemäß funktioniert, verwenden die meisten Linux-Distributionen - einschließlich Ubuntu - TRIM nicht automatisch. TRIM nutzte auch TRIM erst ab Android 4.3.

    Es gibt jedoch eine andere Möglichkeit, TRIM zu verwenden. Anstatt einfach den TRIM-Befehl jedes Mal auszuführen, wenn eine Datei gelöscht wird, kann die Funktion FITRIM verwendet werden. Dies geschieht über den Befehl fstrim. Im Wesentlichen analysiert der Befehl fstrim das Dateisystem und teilt dem Laufwerk mit, welche Blöcke nicht mehr benötigt werden, sodass das Laufwerk sie verwerfen kann. Dies macht TRIM von einer Echtzeitoperation zu einer geplanten Aufgabe. 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 Reinigungsarbeit, die das System nach einem Zeitplan ausführen muss.

    In der Tat ist dies der Ansatz von Google mit Android 4.3. Android führt einfach gelegentlich eine fstrim-Aufgabe aus, um das Dateisystem zu TRIMMEN und das Problem zu beheben, das all die ursprünglichen Nexus 7s verlangsamt.

    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 SSD-Leistungseinbußen auseinanderzusetzen oder fstrim selbst auszuführen.

    So aktivieren Sie TRIM

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

    Um Ihre SSD unter Ubuntu zu trimmen, ö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 einen Leistungsabfall bei SSDs zu vermeiden. Wie oft Sie es ausführen müssen, hängt davon ab, wie oft Dateien von Ihrer SSD gelöscht werden. Sie erhalten einen Fehler, wenn Sie versuchen, den Befehl mit einem Laufwerk auszuführen, das TRIM nicht unterstützt.

    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 Barebones-Cron-Job, der dies automatisch erledigt.

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

    sudo nano /etc/cron.daily/fstrim

    Geben Sie den folgenden Code in die Datei ein:

    #! / bin / sh

    fstrim /

    Speichern Sie die Datei durch Drücken von Strg + O 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 zuletzt den folgenden Befehl aus, um das Skript ausführbar zu machen:

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

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


    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 Hinweise gelten auch für andere Linux-Distributionen. Während Linux die TRIM-Unterstützung bereits vor langer Zeit im Kernel implementiert hat, scheint seine TRIM-Unterstützung für typische Benutzer in Linux-Distributionen noch nie standardmäßig aktiviert worden zu sein.

    Bildnachweis: Mace Ojala auf Flickr (zugeschnitten)