Warum fragmentieren Festplatten?

18

Im Rahmen der regelmäßigen Windows-Wartung defragmentiere ich meine Festplatte. Aber warum fragmentiert die Festplatte auf NTFS- und FAT * -Systemen? Anscheinend ext * nicht, warum ist das so? Sollte ich auch meine USB-Laufwerke defragmentieren?

Simon Sheehan
quelle
Zerlegen Sie keine Solid-State-Geräte. Nicht einmal unter Microsoft Windows. Es ist schlecht für das Solid-State-Gerät und wird nicht benötigt.
Strg-Alt-Delor

Antworten:

22

Fragmentierung ist nicht das Problem, das es vor 30 Jahren war. Damals gab es kaum schnellere Festplatten als Disketten und winzige Prozessorspeichergrößen. Jetzt haben Sie sehr schnelle Laufwerke und große Prozessorspeicher und manchmal erhebliche Puffer auf der Festplatte oder im Controller. Plus-Sektorgrößen sind größer geworden (oder Dateien werden in größeren Blöcken zugewiesen), sodass mehr Daten inhärent zusammenhängend sind.

Auch die Betriebssysteme sind schlauer geworden. Während DOS 1.x jeden Sektor von der Festplatte abgerufen hätte, wie er referenziert wurde, kann ein modernes Betriebssystem erkennen, dass eine Datei für den sequenziellen Zugriff geöffnet ist, und kann vernünftigerweise vorhersagen, dass Sie nach dem Verbrauch weitere Sektoren abrufen werden die hast du jetzt Somit kann es die nächsten mehreren (Dutzend) Sektoren "vorabholen".

Außerdem ist es oftmals besser, keine zusammenhängende Datei zu haben. Auf einem (großen) System, bei dem das Dateisystem auf mehrere Laufwerke verteilt ist, kann auf eine Datei tatsächlich schneller zugegriffen werden, wenn sie ebenfalls "verteilt" ist, da mehrere Datenträger gleichzeitig nach der Datei suchen können.

Ich defragmentiere alle 2-3 Jahre, ob meine Box es braucht oder nicht.

[Ich füge hinzu, dass es nicht so sehr darauf ankommt, ob die Daten auf der Festplatte defragmentiert werden, sondern ob der freie Speicherplatz dies tut. FAT war in dieser Hinsicht furchtbar - es sei denn, Sie defragmentierten die Dinge, bis keine zwei zusammenhängenden Blöcke freien Speicherplatzes mehr vorhanden waren, wurden immer schlimmer. Die meisten anderen Schemata können freien Speicherplatz verschmelzen und Teile auf eine "intelligente" Weise zuweisen, sodass die Fragmentierung eine bestimmte Schwelle erreicht und sich dann stabilisiert, anstatt sich immer weiter zu verschlechtern.]

Daniel R Hicks
quelle
2
Ich habe seit 2005 kein System mehr defragmentiert. Dort habe ich es gesagt.
BlueRaja - Danny Pflughoeft
2
@BlueRaja, Wenn Sie viele Festplattenvorgänge in einem Rotationsspeicher ausführen, hilft die Defragmentierung. Kürzlich stellte ich fest, dass das Ausführen eines Builds meiner Anwendung (2 GB Quellcode und Assets) nach der Defragmentierung etwa 20% schneller ist, und die Box war ~ 1 Monat alt.
Liori
2
Ein informativer und nützlicher Beitrag, aber keine Antwort auf die ursprüngliche Frage. Ich bin überrascht zu sehen, dass dies akzeptiert wird.
EMP
Ich habe mein System noch nie defragmentiert. Es ist jetzt ungefähr 10 Jahre alt. Ich habe gerade zum ersten Mal einen Scan durchgeführt. Die Fragmentierungsgrade sind sehr niedrig (2,3% nicht zusammenhängend). Ich benutze das ext4-Dateisystem. Außerdem habe ich noch nie einen Virenscan durchgeführt. Niemals ein Problem.
Strg-Alt-Delor
13

ALLE Dateisysteme fragmentieren. ext und andere Linux - Dateisysteme fragmentieren weniger aufgrund der Art , wie sie entworfen wurde - zu zitieren Wikipedia über den Linux Network Administrators' Guide :

Moderne Linux-Dateisysteme minimieren die Fragmentierung, indem sie alle Blöcke in einer Datei nahe beieinander halten, auch wenn sie nicht in aufeinanderfolgenden Sektoren gespeichert werden können. Einige Dateisysteme, wie ext3, weisen effektiv den freien Block zu, der anderen Blöcken in einer Datei am nächsten liegt. Daher ist es nicht notwendig, sich um die Fragmentierung eines Linux-Systems zu kümmern.

Ich stelle jedoch fest, dass ext4 eine Onlinedefragmentierung hat, sodass die Fragmentierung selbst bei Linux-Dateisystemen ein Problem darstellt.

Bei Windows-Dateisystemen werden die Cluster überall dort platziert, wo Platz für sie vorhanden ist, und die Defragmentierung wird ausgeführt und ersetzt. Bei Linux werden Dateien bevorzugt dort abgelegt, wo genügend Speicherplatz vorhanden ist.

Ich würde jedoch bemerken, dass Windows 7 geplante Defragmentierungsläufe hat, so dass es nicht wirklich notwendig ist, die Defragmentierung manuell auszuführen.

Geselle Geek
quelle
Ich stelle jedoch fest, dass die geplante Defragmentierung auf keinem meiner Computer standardmäßig aktiviert war.
Simon Sheehan
5
ext* defragmentiert nicht, wie es geht. trac.transmissionbt.com/ticket/849 und h-online.com/open/features/… . ext*Minimiert die Fragmentierung, indem zusammenhängende Daten an zufälligen Stellen auf der Festplatte gespeichert werden. Zufällige Offsets verteilen die zusammenhängenden Dateien auf der Festplatte und verringern die Notwendigkeit, eine Datei zu fragmentieren.
ta.speot.is
Wie vermeidet Reiser / XFS eine Fragmentierung? Ich habe mich immer über sie gewundert, aber sie scheinen in Bezug auf ext.
new123456
1
bearbeitet, um meine Antwort zu korrigieren, während diese Kommentare gemacht wurden. Ext4 defragmentiert online, was ich sagen kann. ext 2/3 nicht.
Geselle Geek
3
In Windows 7 ist die Defragmentierung standardmäßig für Mittwoch um 01:00 Uhr geplant. Wenn Ihr Computer zu diesem Zeitpunkt noch nie eingeschaltet ist, wird möglicherweise keine Defragmentierung durchgeführt. Ich persönlich würde empfehlen, dass Sie die wöchentlich geplante Defragmentierung ausführen lassen (oder auf andere Weise wöchentlich defragmentieren), da dies nicht sehr lange dauert und zu 100% sicherstellt, dass die Fragmentierung niemals zum Problem wird.
jcrawfordor