Fast jeder Windowsbenutzer hat es schon einmal gehört: an solle im Laufe der Zeit ab und an seine Festplatte defragmentieren, dies würde die Systemleistung erhöhen und auch dem Cache zugute kommen. Ebenfalls, als weiterer Tipp wird oft empfohlen, den Viewercache auf einer anderen Festplatte (nicht Partition!) als das Systemlaufwerk anzulegen, um zusätzliche Leistungssteigerungen zu erreichen.

Manche löschen sogar ihren Cache vor jedem Start, weil sie meinen, dies würde dem Viewer gut tun, aber natürlich muss so jedes Mal alles (Inventar/Texturen) über das Internet neu auf den heimischen Rechner geholt werden. . Die Frage bei all dem ist aber: wo liegt denn genau die Wahrheit? Die Antwort darauf ist, wie immer, kompliziert.

Die Grundlage der Speicherung: meine Festplatte, das unbekannte Wesen

Als Festplatte bezeichnet man eine oder mehrere sich extrem schnell mit einer magnetisierbaren Schicht überzogenen Scheiben, die von einem mittels Stellmotor betriebenen, auf einem Luftkissen dahingleitenden Schreib-Lese-Kopf beschrieben oder gelesen werden. Wichtig dabei ist, dass diese mechanische Vorrichtung pro Sekunde nur eine gewisse Anzahl an Sprüngen zulässt. Dies ist der wichtigste, limitierende Faktor dabei, nämlich die Anzahl der Suchläufe (Seeks) pro Sekunde, auch gerne Input Output Operations per Second (IOPS) genannt.

Die Entwicklung der letzten Jahre ist dabei (wie hier bei Microsoft in der ersten Grafik gut zu sehen) drastisch gewesen: während die Prozessoren immer schneller und schneller geworden sind, dümpelt die klassische Festplatte weiterhin bei ca. 250 IOPS herum. Die Grafik ist dabei nicht ganz sauber, zeigt aber eines: die Festplatte hinkt heute gehörig der Prozessorentwicklung hinterher, dafür bieten sie inzwischen nie geahnte Speichermöglichkeiten.

Was genau ist Fragmentierung?

Fragmentierung tritt meistens bei größeren Dateien auf. Der Idealfall einer geschriebenen Datei auf der Festplatte ist nämlich, dass diese an einem Stück geschrieben werden kann. Nur so kann die Festplatte ihre theoritische Maximalgeschwindigkeit auch in der Praxis erreichen. Fragmentierung bedeutet aber, dass die Datei in verschiedenen Bereichen der Festplatte geschrieben worden ist, es also dazwischen Sprünge gibt, die für zusätzliche Seeks des Schreib-Lese-Kopfs sorgen und somit die Gesamtleisung herabsetzen.

NTFS vs. FAT

Das heutige Standarddateisystem von Windows ist NTFS. Früher war FAT der Standard, aber mal ehrlich, wer damit noch seine Gigabyte- oder Terabytemonster betreibt, sollte diese schleunigst nach NTFS umwandeln. Bei FAT war Defragmentieren mehr oder weniger noch an der Tagesordnung gewesen.

Bei NTFS gibt es den Mythos, dass es gar nicht mehr fragmentiert. Das ist falsch, NTFS fragmentiert auch, aber nicht so schnell wie FAT und teilweise anders, außerdem ist der Einfluss der Fragmentierung wegen der inzwischen standardmässig aktiven Schreib-Lese-Caches im Hauptspeicher des Rechners so dramatisch wie früher. Microsoft jedenfalls packt nicht ohne Grund seinm Windows standardmässig ein Defragmentierungsprogramm bei.

Das Betriebssystem und der Hauptspeicher

Moderne Betriebssysteme verwalten, sofern möglich, im Hauptspeicher einen dynamischen Schreib-Lese-Cache. Oftmals angeforderte Dateien werden dann so lange als möglich in diesem gehalten, und wenn man auf die Festplatte kleinere Dateien schreibt, schreibt das Betriebssystem diese oft genug mit einer Verzögerung von einigen Sekunden mit einer hoffentlich optimalen Strategie auf die Platte. Dieser Cache ist standardmässig aktiv und wird vom Betriebssystem dynamisch selbst verwaltet, er werkelt in jedem Windows seit Version 2000 im Autopilot zuverlässig daher.

Wer seinem Rechner also ordentlich Speicher gönnt, der macht sich damit schon recht unabhängig von den möglichen Leistungseinbussen einer möglicherweise fragmentierten Festplatte. Dies ist auch kein Wunder, da die Zugriffszeit auf RAM im Nanosekundenbereich liegt, während sie bei normalen Festplatten nach wie vor im Millisekundenbereich liegt.

Defragmentierung, ja oder nein?

Eindeutig ja, eine Defragmentierung der Festplatte ab und an schadet nicht. Der bei Windows mitgelieferte, kostenlose Defragmentierer reicht dabei für den Hausgebrauch mehr als aus. Allerdings wird diese alleine auch keine wahren Wunder vollbringen, wenn der Rest der Hardware nicht zum Anforderungsprofil passt. Dank diverser Mechanismen im Betriebssystem selber, in Dateisystemen und der Hardware ist der Einfluss einer fragmentierten Festplatte auf die Gesamtleistung nicht mehr so dramatisch wie früher, aber es gibt ihn durchaus noch.

Wenn das Systemlaufwerk des Rechners meistens immer gut zu tun hat, dann schadet es auch nicht, wenn man den Viewercache auf eine Platte auslagert, die mit weniger Seeks konfrontiert wird.

Was ist mit Linux und Mac OS X?

Die Linuxstandarddateisysteme (ext3/ext4) sind so programmiert, dass sie kontrolliert fragmentieren. Normal wird man bestenfalls um die 5% Fragmentierung haben, dies ist gewollt so und damit kann man gut leben. Mac OS X hat bei seinem Dateisystem einen eingebauten Hintergrunddefragmentierer mit dabei, der bei Bedarf auf Dateibasis in Aktion tritt und einzelne Dateien in Leerlaufzeiten des Systems defragmentiert.

Ich habe eine Solid State Disk, soll ich die auch defragmentieren?

Mit einem Wort: nein. Dies bringt bei diesen Speichermedien keine spürbare Verbesserung mehr. Zum einen erreichen SSDs IOPS im Bereich von 10-20000, da die Zeit für einen Seek meist nur noch 0,1 Millisekunden beträgt, zum zweiten ist die Hardware von der Firmware her so gebaut, dass alle Bereiche des Speichermediums gleichmäßig ausgelastet werden. Dies ist auch nötig, da jede Speicherzelle nur eine gewisse Anzahl an Schreib-/Lesezyklen verträgt. Da es keinen Schreib-Lese-Kopf und andere mechanische Bauteile gibt, ist die Anforderung von Informationen zudem immer gleich schnell. Es bringt daher absolut keinerlei Geschwindigkeitszuwachs, wenn man diese teure, aber schnellen Speichermedien noch zusätzlich defragmentiert.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert