Automatischer TRIM vs. manueller TRIM

13

Ich versuche gerade herauszufinden, wie ich mit meinem neuen TP trimmen kann, und wundere mich über den Unterschied zwischen manuellem und Online-Trimmen.

Hier ist mein Setup:

ThinkPad T430s mit SSD Samsung 830, 128 GB und Xubuntu 12.10: Hier einige Ausgaben, mit denen Sie überprüfen können, ob der Zuschnitt auf meinem System funktioniert (siehe http://wiki.ubuntuusers.de/SSD/TRIM ).

root@eike-tp:~# sudo hdparm -I /dev/sda | grep -i TRIM
   *    Data Set Management TRIM supported (limit 8 blocks)

Zuerst habe ich das Online-Trimmen ausprobiert: Wie aktiviere ich TRIM?

Meine fstab mit Discard eingefügt:

UUID=d6c49c17-a4f1-466c-9f7e-896c20db3bba /  ext4  discard,noatime,errors=remount-ro  0  1
# swap was on /dev/sda5 during installation
UUID=a0322f5f-c6c1-4896-863f-668f0638d8cf none  swap  sw  0   0
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0

Ich habe versucht zu testen, ob es funktioniert (aber ich bekomme keine Nullen, wenn ich es mit / dev / sda versuche), habe aber herausgefunden, dass diese Methode nur mit SSD Typ 2 möglich ist und ich Typ 3 zu haben scheint. Also habe ich Ich weiß nicht, ob es funktioniert oder nicht.

Das Ubuntu-Wiki (erster Link) empfiehlt manuelles Trimmen, daher richte ich einen täglichen Cronjob ein, anstatt zu verwerfen:

#!/bin/sh
LOG=/var/log/batched_discard.log
echo "*** $(date -R) ***" >> $LOG
fstrim -v / >> $LOG

Der Wiki-Artikel schlägt wöchentlich oder täglich vor. Nun zu meinen Fragen:

Wie oft wird der automatische Zuschnitt ausgeführt? Wie oft wird empfohlen? Online oder manuelles Trimmen?

Danke für deine Hilfe

Eike Cochu
quelle

Antworten:

4

Der Unterschied zwischen automatischem und manuellem Zuschneiden besteht darin, dass beim automatischen Zuschneiden (mithilfe der discardEinhängeoption) die freigegebenen Blöcke bei der Synchronisierung nach dem Löschen einer Datei zugeschnitten werden, während beim manuellen Zuschneiden (mithilfe von fstrim) der gesamte freie Speicherplatz auf einmal zugeschnitten wird.

Testen

Eine Möglichkeit, um zu testen, ob das automatische Zuschneiden funktioniert, besteht darin, eine große Datei zu erstellen und zu löschen:

user@host:/somewhere$ dd if=/dev/urandom bs=1M count=100 of=bigfile
user@host:/somewhere$ sync
user@host:/somewhere$ rm bigfile
user@host:/somewhere$ sync

Wenn das automatische Löschen funktioniert, werden beim erneuten manuellen Zuschneiden nicht viele Blöcke zugeschnitten, da sie bereits zugeschnitten sein sollten. Führen Sie sudo discard -vauf Ihrem Dateisystem aus und sehen Sie, wie viele Blöcke gekürzt wurden.

Empfehlung

Was empfohlen wird: Nach meiner Erfahrung ist die Leistung durch automatische Trimmung beeinträchtigt. Dies ist jedoch wahrscheinlich hardwareabhängig. es kann gut auf Ihrem Laufwerk sein.

Wenn Sie manuelles Trimmen verwenden, wie oft, denken Sie an die Rate, mit der Sie Daten in Ihrer typischen Arbeitslast schreiben, verglichen mit der Menge an freiem Speicherplatz auf Ihrer SSD. Sie möchten ausreichend oft kürzen, bevor sich Ihre Festplatte mit gelöschten Daten füllt. Wenn Ihre SSD größtenteils über freien Speicherplatz verfügt oder Ihre Festplattenauslastung gering ist, sollte gelegentliches (wöchentliches oder sogar längeres) Trimmen ausreichen. Wenn Ihre SSD meistens voll ist oder Sie z. B. Videodateien häufig bearbeiten, müssen Sie häufiger schneiden.

Mechanische Schnecke
quelle
2

Ich bin kein Lagertechniker und habe meine eigenen Sorgen , aber ich kann einen möglicherweise nützlichen Vorschlag zur Planung machen. Ich bin mir ziemlich sicher, dass TRIM bei der SSD keinen störenden Verschleiß verursacht. Es ist nur eine Haushaltsaufgabe, die Ihre Festplatte irgendwann durchlaufen muss, bevor sie mit dem Recycling von Blöcken beginnen kann. Der beste Zeitplan für das Batch-TRIMming hängt von der Verwendung ab. Eine Funktion von Schreibfrequenz und freiem Speicherplatz, sollte ich denken. In diesem Sinne würde ich den Cron-Job fstrim -vfür einige Tage von Hand ausstecken .

Meiner Meinung nach besteht der Trick darin, einen Zeitplan zu erstellen, in dem Batch-TRIM die SSD für das Schreiben vorbereitet, bevor verbrauchte Blöcke recycelt werden müssen, um einen normalen Schreibvorgang auszuführen, wodurch die Leistung beeinträchtigt wird. Warten Sie 24 Stunden und fstrim. Wenn es behauptet, weit weniger Blöcke als freien Speicherplatz entfernt zu haben, werden Sie wahrscheinlich weniger häufig Batch-TRIMming erhalten.

Damm
quelle
2

Ich schneide meine SSD bei jedem Start zu. Ich habe eine sh-Datei erstellt, die 20 Sekunden nach dem Start aufgerufen wird. Ich habe mich dafür entschieden, die Ausgabe von fstrim in einer Systembenachrichtigung anstelle einer Protokolldatei anzuzeigen.

zuerst die erstellen trim.shDatei in Ihrem ~/binVerzeichnis

#! /bin/sh
notify-send "TRIM" "$(sudo fstrim -v /)"

Jetzt müssen wir dem Benutzer die Berechtigungen zum Ausführen von fstrim erteilen, damit wir kein Kennwort eingeben müssen. Öffnen Sie Ihre sudoers-Datei mit visudo und fügen Sie die folgende Zeile hinzu:

yourusername  ALL=(ALL) NOPASSWD: /sbin/fstrim

Wenn Sie Ihren home/yourusername/binOrdner zu Ihrem hinzufügen, können $PATHSie das Terminal auch manuell mit dem Befehl 'trim' zuschneiden, ohne dass ein Kennwort erforderlich ist.

Jetzt können Sie Ihr Skript zu den Startanwendungen hinzufügen und eine Verzögerung festlegen. Sie müssen sich abmelden / erneut anmelden, damit Ihr neuer Sudoer-Eintrag geladen wird.

Kasper Taeymans
quelle