Warum muss man bei Linux nicht defragmentieren?

8 Antworten

Hallo

Warum muss man bei Linux nicht defragmentieren?

Das stimmt nicht, auch unter den dort üblichen Dateisystemen gibt es Fragmentierung.

Gib doch mal in der Konsole ein:

e4defrag --help

Allerdings sit der Fragmentierungsgrad so vernachlässigbar das Du das System Jahre verwenden musst um davon etwas zu merken.

Link zu einem Video.

Linuxhase

Woher ich das weiß:eigene Erfahrung – Ich benutze seit 2007 Linux und habe LPIC101 und LPIC102

Linuxhase  05.11.2019, 20:49

Hier mein Ergebnis dieses Kommandos:

e4defrag -c /
e4defrag 1.45.4 (23-Sep-2019)
<Fragmented files>                             now/best       size/ext1. /var/log/cups/access_log.3                   12/1              4 KB
2. /var/log/cups/access_log.1        11/1              4 KB
3. /var/log/wtmp                     13/1              4 KB
4. /var/log/cups/access_log.2         5/1              4 KB
5. /boot/grub/grub.cfg.example        2/1              4 KB

 Total/best extents                446343/442867
 Average size per extent           55 KB
 Fragmentation score                0
[0-30 no problem: 31-55 a little bit fragmented: 56- needs defrag]
This directory (/) does not need defragmentation.
Done.

Wichtig dabei dürfte die Einteilung der Scores sein.

Linuxhase

0
Warum muss man bei Linux nicht defragmentieren?

Filesysteme die bei Linuxen benutzt werden, verteilen ihre Files "weiter voneinander entfernt" auf Festplatten, so dass genug Platz "zwischen" einzelnen Files bleibt, damit diese wachsen koennen.

Bei NTFS (Windows) liegen Dateien sehr viel naeher beieinander, so dass sie nicht "am Stueck" wachsen koennen. Dadurch entsteht Fragmentierung; z.B. wenn die ersten 10 MB einer Datei aussen auf der Spindel liegen und die anderen 10 MB innen.

Dementsprechend brauchen Schreib-/Lesekoepfe mehr Zeit weil mehr Bewegung um solche Files zusammenzupuzzeln.

Fragmentierung an sich gibts bei Linux Filesystemen auch, aber man merkt davon in der Regel erst bei einem hohen Fuellstand der HDD was.

Dafür sollte man viele Dateien mit sehr unterschiedliche Größen sehr oft (ich sage: täglich) tilgen und schaffen. Normalerweise macht man das nicht. So würde man Defragmentieren nur selten brauchen.

Das stimmt so natürlich nicht. Bei SSDs ist es ohnehin unnötig, weil die keine Seeks kennen - wobei, das ist so auch nicht richtig, die SSD profitiert prinzipiell auch davon, wenn sie möglichst wenig Pages für die Reads holen muß. Allerdings mag die SSD keine unnötigen Schreibvorgänge, deswegen ist defragmentieren pfui bääh.

Die meisten Linux Dateisysteme geben sich große Mühe das Dateisystem nicht unnötig zu fragmentieren, manchmal lässt es sich aber nicht gänzlich verhindern, sodaß man auch dort ein Dateisystem optimieren kann.

Man kann hier schon vieles im Entwurf des Dateisystems bei der Allokation von Platz für Dateien gut (oder auch schlecht) machen.

Weil die Dateien intelligenter auf die HDD gelegt werden. Soll man aber heutzutage auch bei Windows nicht mehr.