staging.inyokaproject.org

SSD TRIM: Was macht das wirklich?

Status: Ungelöst | Ubuntu-Version: Ubuntu 24.04 (Noble Numbat)
Antworten |

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9837

Ich beobachte ein mich irritierendes Verhalten beim Trimmen von SSDs. Hier ein Beispiel:

$ journalctl -u fstrim.service 
Okt 28 06:44:16 Maria systemd[1]: Starting fstrim.service - Discard unused blocks on filesystems from /etc/fstab...
Okt 28 06:44:20 Maria fstrim[37403]: /mnt/Daten-A: 27,1 GiB (29050531840 Bytes) auf /dev/sdb10 getrimmt
Okt 28 06:44:20 Maria fstrim[37403]: /: 6,7 GiB (7185223680 Bytes) auf /dev/sdb3 getrimmt
Okt 28 06:44:20 Maria systemd[1]: fstrim.service: Deactivated successfully.
Okt 28 06:44:20 Maria systemd[1]: Finished fstrim.service - Discard unused blocks on filesystems from /etc/fstab.
-- Boot 64f8f229871b46798b9ff23a345b50ea --
Nov 04 06:47:59 Maria systemd[1]: Starting fstrim.service - Discard unused blocks on filesystems from /etc/fstab...
Nov 04 06:48:06 Maria fstrim[5015]: /mnt/Daten-A: 27,1 GiB (29050531840 Bytes) auf /dev/sdb10 getrimmt
Nov 04 06:48:06 Maria fstrim[5015]: /: 6,5 GiB (7015604224 Bytes) auf /dev/sdb3 getrimmt
Nov 04 06:48:06 Maria systemd[1]: fstrim.service: Deactivated successfully.
Nov 04 06:48:06 Maria systemd[1]: Finished fstrim.service - Discard unused blocks on filesystems from /etc/fstab.
-- Boot bbcc1d7481aa47c7b97e2678b989e4fe --
Nov 11 08:47:27 Maria systemd[1]: Starting fstrim.service - Discard unused blocks on filesystems from /etc/fstab...
Nov 11 08:47:34 Maria fstrim[14634]: /mnt/Daten-A: 27,1 GiB (29050531840 Bytes) auf /dev/sdb10 getrimmt
Nov 11 08:47:34 Maria fstrim[14634]: /: 6,2 GiB (6644322304 Bytes) auf /dev/sdb3 getrimmt
Nov 11 08:47:34 Maria systemd[1]: fstrim.service: Deactivated successfully.
Nov 11 08:47:34 Maria systemd[1]: Finished fstrim.service - Discard unused blocks on filesystems from /etc/fstab.
$ 

Die getrimmten Speicherbereiche werden niemals kleiner. Ich beobachte das bei mehreren SSDs.

TRIM sollte benutzte Speicherblöcke auf der SSD wieder verwendbar machen. Ich würde daher erwarten, dass beim nächsten TRIM weniger zu tun ist, jedenfalls bei Dateisystemen, in die ich (wie z.B. Daten-A) gar nichts gespeichert habe.

Habe ich ein falsches Verständnis zu TRIM? Was macht TRIM wirklich?

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7795

fstrim sagt nur dem Dateisystem "mach mal" und das Dateisystem macht dann mal. Wieviel getrimmt wird, ist die Entscheidung des Dateisystems.

Normalerweise wird immer der gesamte freie Speicher getrimmt. Solange ext4 gemountet ist, weiß es das schon getrimmt wurde und macht dann bereits getrimmte Bereiche nicht nochmal (wobei das sehr unscharf ist - kleine Änderung führt zu großer Trim-Zone). Aber das wird nicht gespeichert, also nach umount oder Reboot geht es wieder von vorne los. Andere Dateisysteme können sich hier auch ganz anders verhalten. Je nachdem wie es dort implementiert wurde.

Was wirklich schon getrimmt ist und was nicht, weiß nur die SSD selbst; abfragen kann man es nicht. Somit haben diese Zahlen von fstrim weiters keine Bedeutung. Das können durchaus jedes Mal die gleichen 27.1G gewesen sein, die da getrimmt wurden somit keine Änderung.

Für Heimanwender ist das wöchentliche Trim auch schon übertrieben, einmal im Monat oder Quartal würde genauso reichen.

Man hat durch häufiges Trim eigentlich keine Vorteile. Dafür den Nachteil, daß Datenrettung eben ganz unmöglich ist.

Antworten |