fstrim, der den gesamten freien Speicherplatz nach dem Neustart abschneidet

390
anonimou

Ich habe gerade eine SSD aufgerüstet. Die Leistung war großartig.

Wenn ich jedoch nach jedem Neustart ein Fstrim für die Partitionen mache, wird der gesamte freie Speicherplatz beschnitten. Und wie ich es verstehe, schreibt das Trimmen in den gesamten freien Raum, dass es verfügbar ist. Nicht sicher, ob relevant, aber ich verwende volle Festplattenverschlüsselung (/ boot enthalten).

Da die Lebensdauer der SSD durch häufige Schreibvorgänge drastisch reduziert werden kann, mache ich mir Sorgen um diesen Abgleich.

Hier sind die Protokolle, die ich bei jedem Beschnitt aufbewahre:

Jul 30 13:46:00 /: 478.6 MiB (501862400 bytes) trimmed Jul 31 13:22:26 /: 347.8 GiB (373409230848 bytes) trimmed Jul 31 13:25:32 /: 194.3 MiB (203710464 bytes) trimmed Jul 31 13:25:40 /: 19.2 MiB (20111360 bytes) trimmed Aug 02 14:08:06 /: 345.9 GiB (371398463488 bytes) trimmed Aug 02 22:21:36 /: 56.9 GiB (61047971840 bytes) trimmed Aug 02 22:31:27 /: 347.7 MiB (364560384 bytes) trimmed Aug 02 22:31:43 /: 127 MiB (133144576 bytes) trimmed Aug 02 22:33:01 /: 243 MiB (254767104 bytes) trimmed Aug 03 06:58:47 /: 1 GiB (1080602624 bytes) trimmed Aug 03 10:00:02 /: 2.4 GiB (2526216192 bytes) trimmed Aug 03 11:42:14 /: 341 GiB (366146318336 bytes) trimmed Aug 03 16:00:01 /: 0 B (0 bytes) trimmed Aug 03 16:33:53 /: 0 B (0 bytes) trimmed Aug 03 16:48:43 /: 341 GiB (366074740736 bytes) trimmed Aug 03 16:50:13 /: 1.2 GiB (1297809408 bytes) trimmed Aug 03 16:53:31 /: 341 GiB (366074695680 bytes) trimmed Aug 03 17:07:55 /: 340.9 GiB (366066126848 bytes) trimmed Aug 05 22:00:13 /: 341 GiB (366073069568 bytes) trimmed Aug 05 22:07:22 /: 1.2 GiB (1261793280 bytes) trimmed Aug 06 07:41:50 /: 1.4 GiB (1522991104 bytes) trimmed Aug 06 10:00:11 /: 341 GiB (366068740096 bytes) trimmed 

Wie Sie sehen, beträgt der Zuschnitt nach dem Einschalten des Computers ~ 340 GB, während der Zuschnitt bei normaler Verwendung nur etwa 1 GB beträgt.

Muss ich mir Sorgen machen, dass dadurch meine SSD abgenutzt wird? Soll ich nicht schneiden?

0

1 Antwort auf die Frage

0
Damon

Es gibt ein Missverständnis. Das Beschneiden verursacht keine zusätzlichen Schreibvorgänge, es verringert sie.

Eine SSD, oder besser gesagt ihr NAND, hat zwei Begriffe von "Blöcken", von denen einer eigentlich Block genannt wird (normalerweise etwas 128k bis 512k), und die andere, die viel näher an dem liegt, was Sie meinen, wenn Sie von "Block" sprechen Die Begriffe Ihres Dateisystems werden als Seite bezeichnet (normalerweise etwa 4k). Sie können schreiben, eine vollständige Seite zu einem Zeitpunkt aus, so wie man es auf einer alten Festplatte, kein Problem. Die Dinge funktionieren einfach wie erwartet.

Sie können eine Seite jedoch nicht überschreiben, sie wird nur einmal geschrieben. Sie können es danach nur noch löschen und wieder beschreibbar machen. Dies ist, was für die Lebensdauer des NAND zählt. Das Problem ist nur ... in Wirklichkeit können Sie keine Seiten löschen. Sie können nur Blöcke löschen (dh Cluster von 32 bis 64 Seiten gleichzeitig).

Das bedeutet, dass der Controller beim Überschreiben einer Seite ("blockieren" in Bezug auf das Dateisystem):

  1. Lesen Sie im kompletten Block
  2. Wenn ein "jungfräulicher" oder bereits gelöschter Block vorhanden ist, verwenden Sie diesen
  3. Anderenfalls den gleichen Block löschen
  4. Schreiben Sie den kompletten Block aus und ändern Sie den Inhalt der überschriebenen Seite entsprechend
  5. Führen Sie einige unspezifische "Magie" durch, so dass die Löschzyklen gleichmäßig über alle Blöcke verteilt sind, um einen vorzeitigen Tod zu verhindern

Dies ist etwas vereinfacht, aber das Prinzip ist so. Ein intelligenter Controller macht vielleicht etwas anderes (z. B. logische Neuzuordnung von Seiten, füllt alle Seiten so lange aus, bis keine übrig ist, und "erinnert sich" irgendwie daran, welche gut und welche schlecht sind usw.), aber im Prinzip ist der Arbeitsablauf wie beschrieben über.

Dies ist insofern ein Problem, als kleine Schreibvorgänge eine übliche Sache sind, so dass bald jeder Block auf Ihrer Festplatte mindestens einmal beschrieben wurde. Was kann der Controller jetzt tun? Nicht viel. Es weiß nicht wirklich, was das Dateisystem macht oder was erwartet wird, daher muss es an der konservativsten Annahme arbeiten. Das heißt, alles und alles, was einmal geschrieben wurde, muss erhalten bleiben.

TRIM löst dieses Problem. Sie teilt dem Controller mit, dass ein so großer Bereich nicht verwendet wird, so dass der Controller diesen auch verwerfen kann. Es schreibt nichts. Wenn überhaupt, werden nur Blöcke gelöscht (allerdings nur einmal, nicht jedes Mal).
Da Sie dem Controller mitgeteilt haben, dass Sie diese Daten nicht verwenden, besteht die Gefahr, dass Sie sie ohne Schaden wegwerfen. Nun sind plötzlich wieder beschreibbare Blöcke verfügbar, ohne dass Daten kopiert und Blöcke wiederholt gelöscht werden müssen. Dadurch wird das Schreiben nicht nur schneller, sondern es werden auch weniger Löschungen durchgeführt.