Wie man TRIM für SSD in Ubuntu aktiviert

Ein Foto von zwei NVMe SSD-Karten.

Wenn Sie eine Solid State Drive (SSD) verwenden, sollten Sie wissen, dass Sie keine Defragmentierungs- oder Speicherplatzkonsolidierungssoftware darauf ausführen sollten. Wie reinigen Sie also Ihre SSD und geben den freien Speicherplatz frei? TRIM ist der Befehl, den wir verwenden, um das Betriebssystem darüber zu informieren, dass es die Reinigung durchführt. Windows 11 ermöglicht es Ihnen, TRIM manuell über den Befehl fsutil auszuführen. Aber was ist mit Ubuntu? Wie können Sie TRIM für SSD in Ubuntu aktivieren?

Hinweis: Die folgenden Schritte funktionieren nicht, wenn Sie Ihre Partition verschlüsselt haben.

Inhaltsverzeichnis

  • Erstellen eines TRIM-Cron-Jobs für Ihre SSD
  • Verwendung der Discard-Option in fstab
  • Häufig gestellte Fragen

Erstellen eines TRIM-Cron-Jobs für Ihre SSD

  1. Um sicherzustellen, dass die SSD in Ihrem Computer TRIM unterstützt, öffnen Sie ein Terminal und geben Sie ein:
sudo hdparm -I/dev/sda

Ein Terminalfenster, das die Ausgabe des hdparm-Befehls zeigt.

Wenn Ubuntu nicht in der ersten Partition der SSD installiert ist, ändern Sie sda, um die Partition widerzuspiegeln, auf der Ubuntu installiert ist. Sie können dies tun, indem Sie lsblk ausführen.

Ein Terminalfenster, das alle an die Maschine angeschlossenen Festplatten zeigt.

  1. Scrollen Sie die Liste nach unten, bis Sie den Bereich „Unterstützt“ sehen. Scrollen Sie weiter nach unten, und wenn Sie etwas sehen wie „Data Set Management TRIM unterstützt (Limit 8 Blöcke)“, dann wird TRIM von Ihrer SSD unterstützt.

Ein Terminalfenster, das das TRIM-Flag für die Demonstrations-SSD anzeigt.

  1. Testen Sie, ob die TRIM-Funktion in Ubuntu funktioniert. Geben Sie im Terminal ein:
sudo fstrim -v/

Dies wird die Root-Partition der SSD bereinigen. Wenn es erfolgreich ist, sollten Sie etwas sehen, das dem folgenden Bild ähnelt.

Ein Terminalfenster, das den ersten fstrim-Befehl für die SSD zeigt.

  1. Stellen Sie einen Cron-Job ein, damit das Betriebssystem jeden Tag einmal den TRIM-Befehl sendet.
sudonano/etc/cron.daily/trim
  1. Fügen Sie den folgenden Code in den leeren Bereich ein:
#!/bin/sh  
fstrim -v/
  1. Wenn Ihr HOME-Verzeichnis auf einer anderen Partition gespeichert ist, können Sie folgende Zeile am Ende des obigen Codes hinzufügen:
fstrim -v/home >>$LOG
  1. Wenn Sie die Ausgabe in einer Protokolldatei speichern möchten, verwenden Sie stattdessen den folgenden Code:
#!/bin/sh  
LOG=/var/log/trim.log  
echo"* $(date -R) *">>$LOG  
fstrim -v/>>$LOG  
fstrim -v/home >>$LOG

Ein Terminalfenster, das ein komplettes Cron-Skript für fstrim zeigt.

  1. Speichern Sie (Strg + O) und beenden Sie (Strg + X).

  2. Machen Sie den Cron-Job ausführbar:

sudochmod a+x /etc/cron.daily/trim

Ein Terminalfenster, das das Trim-Skript mit den richtigen Berechtigungseinstellungen anzeigt.

Gut zu wissen: Cron ist ein großartiges Dienstprogramm, das Ihnen helfen kann, Aufgaben in Linux zu automatisieren. Erfahren Sie, wie es funktioniert und wie Sie es für Ihre eigenen Programme nutzen können.

Verwendung der Discard-Option in fstab

Neben dem manuellen Aufruf von fstrim können Sie auch Ihr System so konfigurieren, dass es kontinuierlich „verworfen“ wird, jeglichen ungenutzten freien Speicherplatz auf Ihrer Festplatte. Dies kann hilfreich sein, wenn Sie einen Laptop verwenden und nicht möchten, dass Ihr Computer die ganze Zeit eingeschaltet bleibt.

  1. Überprüfen Sie den UUID-Wert Ihrer Root-Partition:
ls-l/dev/disk/by-uuid

Ein Terminalfenster, das den symbolischen Link zwischen UUID und den SSD-Partitionen zeigt.

  1. Öffnen Sie die Datei „/etc/fstab“ mit Ihrem bevorzugten Texteditor. In meinem Fall benutze ich GNU Nano:
sudonano/etc/fstab
  1. Finden Sie den Eintrag Ihrer Root-Partition in „/etc/fstab“, indem Sie Strg + W drücken und dann den UUID-Wert eingeben.

Ein Terminalfenster, das die standardmäßige /etc/fstab-Datei für das Demonsystem zeigt.

  1. Gehen Sie zu Ihrem Root-Partitionseintrag und geben Sie discard,noatime, vor der Option „errors=remount-ro“ ein. Zum Beispiel hat meine „/etc/fstab“ Datei den folgenden Root-Partitionseintrag:
#   
UUID=xxx    /    ext4    discard,noatime,errors=remount-ro    01  
[...]

Ein Terminalfenster, das die modifizierte /etc/fstab-Datei zeigt.

  1. Speichern Sie Ihre neue „/etc/fstab“ Datei, indem Sie Strg + O drücken und dann Strg + X.

Ein Terminalfenster, das die Speicheraufforderung für GNU Nano zeigt.

  1. Starten Sie schließlich Ihren Computer neu, um Ihre neuen Einstellungen anzuwenden.

Ein Terminalfenster, das den Neustartbefehl für das Demonsystem zeigt.

FYI: Während TRIM jeden freien Speicherplatz auf Ihrer SSD löschen wird, schützt Sie das allein nicht vor Datenwiederherstellungsprogrammen. Erfahren Sie, wie Sie Ihre Daten nur mit einfachen Befehlszeilentools sicher löschen können.

Häufig gestellte Fragen

Kann ich sowohl fstrim als auch discard gleichzeitig auf meiner SSD verwenden?

Ja. Das wird jedoch weder zu einer spürbaren Verbesserung noch zu einer Verlängerung der Lebensdauer Ihrer SSD führen, da sowohl fstrim als auch discard ähnliche TRIM-Routinen verwenden, wenn sie ungenutzte, freie Blöcke löschen.

Wissen Sie das, unterscheiden sich fstrim und discard in einem wichtigen Punkt: der Häufigkeit. Erstere sammelt alle ungenutzten Blöcke, bevor sie „freigegeben“ werden, während letztere einen Block sofort „freigibt“, sobald er ungenutzt wird. Das bedeutet, dass discard immer mehr Systemressourcen und Festplatten-I/O im Vergleich zu fstrim benötigt.

Meine /etc/fstab-Datei hat keinen UUID für ihre Root-Partition.

Das liegt höchstwahrscheinlich daran, dass Ihr System entweder eine Hardware-RAID-Karte oder ein logisches Volumenverwaltungs (LVM)-Dienstprogramm verwendet. Standardmäßig funktioniert TRIM nur auf Systemen, die traditionelle Festplattenpartitionen und Dateisysteme wie ext4 verwenden.

In jedem Fall bieten einige LVM-Programme eine praktische Option zum Durchführen von TRIM. In Ubuntu können Sie issue_discards = 1 zu Ihrer „/etc/lvm/lvm.conf“-Datei hinzufügen, um automatisch ungenutzte, freie Blöcke zu trimmen.

Ist es möglich, die Häufigkeit meines fstrim-Befehls zu ändern?

Ja. Standardmäßig bietet Linux mehrere Timer-Dateien, mit denen Sie genau festlegen können, wann Sie fstrim verwenden möchten. Zum Beispiel können Sie sudo mv /etc/cron.daily/trim /etc/cron.weekly/trim ausführen, um Ihre TRIM-Häufigkeit von täglich auf wöchentlich zu ändern.

Bildnachweis: Unsplash. Alle Änderungen und Screenshots von Ramces Red.