Ja, Linux-Dateisysteme können Dateien fragmentiert speichern. Ob eine Defragmentierung sinnvoll ist, hängt vom Dateisystem und seiner Nutzung ab. Unter ext4 kannst du zuerst e4defrag -c ausführen: Der Befehl prüft das Ziel, ohne es zu defragmentieren.
Fragmentierung bedeutet, dass die Teile einer Datei an verschiedenen Stellen auf dem Datenträger liegen. Bei Festplatten mit beweglichen Bauteilen kann das zusätzliche Suchbewegungen verursachen. Für die Frage, ob du handeln solltest, sind aber vor allem das Dateisystem und eine konkrete Prüfung entscheidend.
Inhalt
- Kann Linux fragmentieren?
- ext4 prüfen, ohne Dateien zu verändern
- Das passende Werkzeug hängt vom Dateisystem ab
- HDD, SSD und TRIM
Kann Linux fragmentieren?
Ja. Das ursprüngliche Ext-Dateisystem wurde mit der Zeit fragmentiert, als seine Listen freier Blöcke und freier Inodes unsortierter wurden. Inodes enthalten die Verwaltungsdaten zu Dateien. Für ext2 beschrieben die Entwickler Blockgruppen, die zusammengehörige Inodes und Daten bündeln, sowie die Vorabreservierung von bis zu acht benachbarten Blöcken.
Die ext2-Entwickler berichteten für diese Vorabreservierung von einer Trefferquote um 75 Prozent, auch bei sehr vollen Dateisystemen. Das sind historische Angaben zum Entwurf von ext2. Für heutige ext4-Leistung sind sie kein Messwert. Dass es mit e4defrag ein Werkzeug für ext4 gibt, zeigt zugleich: Linux-Dateisysteme sind nicht grundsätzlich vor Fragmentierung geschützt.
ext4 prüfen, ohne Dateien zu verändern
Mit e4defrag -c kannst du eine Datei, ein Verzeichnis oder einen eingehängten ext4-Datenträger prüfen. Zum Beispiel zeigt sudo e4defrag -c / die Prüfung des Wurzelverzeichnisses. Der Schalter -c berechnet einen Score, führt aber keine Defragmentierung aus.
Die Einstufung gehört zum Werkzeug: 0 bis 30 bedeutet „kein Problem“, 31 bis 55 „leicht fragmentiert“ und ab 56 „Defragmentierung erforderlich“. Der Score ist ein eigener Kennwert von e4defrag, kein Prozentwert und keine Vorhersage eines Leistungsgewinns. Ein hoher Wert allein sagt daher nicht, wie stark sich eine Defragmentierung bei deiner Nutzung bemerkbar machen würde.
Die eigentliche Defragmentierung kann durch zu wenig oder stark fragmentierten freien Speicherplatz ausgebremst werden. Während des Vorgangs können außerdem laufende Anwendungen um Arbeitsspeicher und Datenträgerbandbreite konkurrieren.
Das passende Werkzeug hängt vom Dateisystem ab
Die Befehle für ext4 gelten nicht automatisch auch für Btrfs, exFAT oder NTFS. Die dokumentierten Funktionen und Bedingungen unterscheiden sich:
| Dateisystem | Dokumentierte Linux-Funktion | Wichtige Bedingung |
| ext4 | e4defrag -c prüft; e4defrag defragmentiert unterstützte Dateien, die in Extents gespeichert sind. Extents sind zusammenhängende Blockbereiche. | Zu wenig oder stark fragmentierter freier Speicher kann die Verbesserung verhindern. Der Vorgang kann Ressourcen beanspruchen, die auch aktive Anwendungen benötigen. |
| Btrfs | Die Einhängeoption autodefrag stellt erkannte kleine zufällige Schreibvorgänge zur Defragmentierung zurück. Die Dokumentation nennt dafür einen Bereich von 64 KiB. | Bei großen Datenbank-Workloads kann die Option ungeeignet sein; das Lesen benachbarter Blöcke kann die Latenz erhöhen. |
| exFAT | defrag.exfat -a prüft die Fragmentierung, ohne das Dateisystem zu verändern. Das Werkzeug kann exFAT-Datenträger auch defragmentieren. | Der Datenträger muss dafür ausgehängt sein. Vorher empfiehlt das Handbuch eine Prüfung mit fsck.exfat und eine Sicherung wichtiger Daten. |
| NTFS | Die Dokumentation des Linux-Kernel-Treibers und von NTFS-3G führt keinen Defragmentierungsbefehl auf. | Für diese Werkzeuge ist damit kein entsprechender Befehl dokumentiert. |
Bei Btrfs ist autodefrag also keine pauschale Empfehlung: Die dokumentierten Hinweise zu Latenz und Datenbank-Workloads machen den konkreten Einsatz wichtig. Für exFAT sind vor einer Defragmentierung das Aushängen und die empfohlenen Prüfschritte entscheidend.
HDD, SSD und TRIM
Der klassische Grund für eine Defragmentierung betrifft Festplatten mit beweglichen Leseköpfen: Liegen Dateiteile verstreut, muss der Kopf zwischen ihnen hin- und herfahren. SSDs haben keine rotierenden Teile und daher keinen mechanischen Suchweg. Daraus folgt aber keine allgemeine Aussage über jede Maßnahme auf jeder SSD.
Datei-Defragmentierung und TRIM beziehungsweise Discard sind verschiedene Vorgänge. Wer ein Laufwerk prüfen will, sollte deshalb zuerst das Dateisystem bestimmen und dann das dafür passende Werkzeug verwenden.