Müssen ext4-Dateisysteme defragmentiert werden?

43

Haben ext4Dateisysteme müssen defragmentiert werden? Wenn ja, wie defragmentiere ich sie?

Wenn nicht, können Sie einfach erklären, warum sie nicht defragmentiert werden müssen?

BenjiWiebe
quelle
4
Wenn Sie so interessiert sind, wie Sie klingen, könnte dieses Papier diesbezüglich von Interesse sein: Fedora-Projekt , speziell ab Seite 179 (das ist wirklich Seite 3)
Nerdwaller
@nerdwaller Interessant, wenn auch ein wenig zu ausführlich für mich zu verstehen.
BenjiWiebe
1
Verwandte Fragen zu Ask Ubuntu: Warum ist eine Defragmentierung nicht erforderlich? , wo die aktuell akzeptierte Antwort ist:The underlying filesystems used by Ubuntu, like ext2 and ext3, simply don't need defragmenting because they don't fragment files in the same way as NTFS. There are more details athttp://en.wikipedia.org/wiki/Ext3#Defragmentation.
Durchbruch

Antworten:

30

Müssen ext4Dateisysteme defragmentiert werden?

Ja (aber sehr selten).

Wenn ja, wie defragmentiere ich sie?

Kopieren Sie alle Dateien von der Partition, löschen Sie die Dateien von der Partition und kopieren Sie die Dateien wieder auf die Partition. Das Dateisystem ordnet die Dateien intelligent zu, wenn Sie sie wieder auf die Festplatte kopieren.

Wenn nicht, können Sie einfach erklären, warum sie nicht defragmentiert werden müssen?

ext4Handelt intelligenter als das Hinzufügen neuer Dateien zum nächsten verfügbaren Speicherplatz. Anstatt mehrere Dateien nebeneinander auf der Festplatte zu platzieren, verteilen Linux-Dateisysteme verschiedene Dateien auf der gesamten Festplatte, sodass viel freier Speicherplatz zwischen ihnen verbleibt. Wenn eine Datei bearbeitet wird und vergrößert werden muss, ist in der Regel ausreichend freier Speicherplatz für die Datei vorhanden. Wenn eine Fragmentierung auftritt, versucht das Dateisystem, die Dateien zu verschieben, um die Fragmentierung bei normaler Verwendung zu verringern, ohne dass ein Defragmentierungsdienstprogramm erforderlich ist.

Dank eines Kommentars von @Green Reaper wurde meine Aufmerksamkeit auf e4defrag gelenkt .

pnuts
quelle
Es gibt also keine On-Demand-Defragmentierungssoftware?
BenjiWiebe
9
Ein Link zu der Quelle, aus der Sie kopiert / eingefügt haben, tut nie weh ...;) howtogeek.com/115229
Christophe L
4
Das als e4defrag bekannte Tool kann zum Defragmentieren von ext4 verwendet werden. Es wird von e2fsprogs in den meisten Distributionen bereitgestellt. ext4 versucht ebenfalls, eine Fragmentierung zu vermeiden , ist jedoch nicht immer erfolgreich.
GreenReaper
Gibt es eine Möglichkeit, den Prozentsatz fragmentierter Dateien anzuzeigen?
Aaron Franke
Beachten Sie, dass e4defrag nur Dateien defragmentiert, nicht den freien Speicherplatz. Wenn Ihr freier Speicherplatz fragmentiert ist, funktioniert e4defrag nicht richtig, da kein zusammenhängender Speicherplatz zum Verschieben von Dateien vorhanden ist.
17.
19

Ich benutze ext4 Partition seit über einem Jahr. Mir ging oft der Speicherplatz aus, ich verschob viele Dateien hinein und hinaus usw. usw. Diese Dinge sind schlecht für die Fragmentierung und gestern habe ich zum ersten Mal auf Fragmentierung geprüft und nur 2 Dateien (nicht%, nur zwei Dateien) wurden fragmentiert .

Auf der Windows-Partition, die etwa ein Jahr länger verwendet wurde und über viel mehr freien Speicherplatz verfügt, habe ich eine Fragmentierung von 95%.

Nein, Sie müssen ext4 wirklich nicht defragmentieren. Wenn Sie sicher sein möchten, belassen Sie den Standardspeicherplatz für ext4 (der Standardwert beträgt 5% und kann von geändert werden ex2tunefs -m X).

zahjin
quelle
1
Wie prüft man auf Fragmentierung?
Sparhawk
13
Wenn Sie ein ext4-Dateisystem mit dieser extentOption erstellt haben (dies ist die Standardeinstellung in den neuesten Distributionen), können Sie die Fragmentierung mit überprüfen e4defrag -c /path/to/checkund defragmentieren, ohne die Bereitstellung mit zu unterbrechen e4defrag /path/to/check. Wenn Sie jedoch über genügend freien Speicherplatz verfügen, müssen Sie dies nicht tun.
Gerlos