# Auslagerungsdatei (Swap-Datei), Disk-Cache und Speichermanagement

Gültig für: Windows 95 | Windows 98 | Windows ME

Die Dokumentation zur Auslagerungsdatei und zum Disk-Cache ist in Windows eher mäßig. Im Resource Kit findet man zwar eine Auflistung der Einstellungen für den System-Monitor, mit dem man die Speicherbelegung prüfen kann, aber keine genaue Beschreibung.

Wenn man den System-Monitor startet und sich den freien Speicher anzeigen lässt, stellt man fest (abhängig von Rechner-Konfiguration, Speicher, laufenden Hintergrund -Programmen), dass schon direkt nach dem Start von Windows die Größe des freien Speichers nahezu Null ist. Es stellen sich dann einige Fragen:

1. Wo ist mein freier Speicher geblieben?
   Ich habe so viel RAM, warum "swapt" Windows überhaupt?
2. Brauche ich bei (32, 64,...MB) noch eine Swap-Datei?
   Kann ich das Systemverhalten durch Änderung am Speichermanagement irgendwie verbessern?
3. Permanente Auslagerungsdatei: Ja oder Nein?
   Wenn permanent, wie groß sollte meine Auslagerungsdatei sein?
   Wie groß sollte der Disk-Cache sein?

Als erstes muss man ein bisschen über das Speichermanagement von Windows wissen, um das "Verhalten" bezüglich des Speichers zu verstehen.

1. Wenn ein 16-Bit Programm (DLL) gestartet wird, werden bestimmte Teile dieses Programms genau einmal ausgeführt, nämlich beim Start. Dieser Code bleibt nicht ständig im RAM, sondern wird später in der Auslagerungsdatei untergebracht. Auf diesen Code wird nie wieder zugegriffen.
2. Wenn ein Programm Speicher reserviert (auf Englisch heißt das "committed", "reserved" hat eine andere Bedeutung!), wird dieser Speicher nicht unbedingt sofort mit Daten gefüllt. Daher wird er nicht im RAM angelegt (vielleicht greift das Programm ja nie darauf zu), sondern in der Auslagerungsdatei. Erst wenn der reservierte Speicher mit Daten gefüllt wird, wird RAM dafür freigemacht.
3. Die meisten Programme nutzen nur ganz bestimmte Teile der im Speicher befindlichen Daten ständig. Die Speicherverwaltung von Windows sorgt dafür, dass diese Abschnitte im RAM gehalten werden. Daten, auf die nur sehr selten zugegriffen wird, werden ausgelagert.

Frage: Ist eine Auslagerungsdatei immer notwendig?

Antwort:

Ja, man sollte auf jeden Fall eine Auslagerungsdatei haben (solange Festplattenplatz billiger ist als RAM). Wer meint, dass auf seinem System keine Auslagerungsdatei sein sollte, hat das Speichermanagment von Windows nicht verstanden. Statt die Auslagerungsdatei auszuschalten, kann man auch RAM ausbauen und das Swappen (innerhalb bestimmter Grenzen) wieder zulassen, das aber hat ungünstige Auswirkungen auf die Performance.

Generell gilt:

Die optimale Einstellung für alle Rechner gibt es nicht. Wenn man vermutet, dass man die Leistung seines Rechners durch manuelles Tuning des Speichermanagements verbessern kann, sollte man das System erst einmal mit Hilfe des System-Monitors überwachen, der als Zubehör zu Windows mitgeliefert wird.

Frage: Wie groß muss meine Auslagerungsdatei sein (wenn permanent)?

Antwort:

Genau zur Beantwortung dieser Frage gibt des den System-Monitor. RAM+Swap müssen so groß sein wie der max. erreichte Wert von "Reservierter Speicher".

Frage: Brauche ich nicht 2*RAM oder so als Swap-Datei?

Antwort: Das mag eine gute Faustregel für Netzwerk Computer und /oder andere Betriebssysteme sein, für Windows-PCs gilt das nicht.

Frage: Wie kann ich die Größe des Disk-Caches einstellen?

In der SYSTEM.INI, Abschnitt [VCACHE], MinFileCache = Größe inkB(nicht empfohlen), MaxFileCache = Größe in KB

Frage: Sollte ich die Größe des Disk-Caches nach oben begrenzen?

Antwort:

Es ist nicht notwendig, aber wenn überhaupt, dann auf max. 4 MB. Disk-Caching, was die am meisten bringende Maßnahme für optimale Performance bringt. Man kann sich allerdings darüber streiten, ob ein Disk-Cache von 8 oder 12 MB noch sinnvoll ist. Die dynamische Verwaltung des Disk-Caches sorgt ja dafür, dass der Speicher durch den Cache nicht "verbraucht" wird. Eine generelle Empfehlung kann man nicht geben. Man müsste langfristig die Zahl der Cache-Hits messen. Es gibt aber einige Anhaltspunkte:

1. Wenn man ständig mehrere MB freien RAM-Speicher hat (bei fester Cache-Obergrenze), sollte man den Cache wieder freigeben.
2. Öffnet und schließt man oft Programme (auch wiederholt), sollte der Cache nicht begrenzt werden.
3. Vermutlich hat MS zu dem Zeitpunkt, als die Kriterien des Speichermanagements festgelegt wurden, angenommen, dass 32 MB höchstens auf einem Netzwerkserver installiert wären. Daher der riesige Disk-Cache. Aber ob das wirklich schadet.

Frage: Sollte ich die Größe des Disk-Caches nach unten begrenzen?

Antwort: Nein. Da Windows den Cache sowieso erst dann ganz freigibt, wenn der Speicher bis zum allerletzten Bit gefüllt ist. Da macht es keinen Sinn, die Cache-Größe nach unten festzusetzen.

Wo soll die Auslagerungsdatei hin?

Wenn nur eine Festplatte vorhanden ist, sollte die Auslagerungsdatei auf der Windows-Partition liegen. Bei mehreren Festplatten kann es von Vorteil sein, die Datei auf eine andere Festplatte zu legen.

Die Auslagerungsdatei von Windows sollte nach Möglichkeit immer entweder an den Anfang oder an das Ende einer Partition gelegt werden. Das Verschieben der Auslagerungsdatei ist aber ohne Tools kaum zu bewerkstelligen. Einfach ist es z.B. mit den Norton Utilities (Defrag) möglich, bei denen man angeben kann, dass die Datei an den Anfang der Festplatte verschoben werden soll.

Auch ohne diese Tools können Sie die Auslagerungsdatei auf eine andere Festplatte verlagern. Tragen Sie dafür in der SYSTEM.INI unter [386Enh] folgendes ein:

PagingDrive=D:

Mit dem Eintrag

PagingFile=D:\Swap.ddd

Sie können auch noch einen anderen Namen festlegen (Standard: Win386.swp).

Was soll das bringen?

Meistens bringt das einen besseren Zugriff auf die Swap-Datei, weil der Schreib-/Lesekopf dann weniger bewegt werden muss. Legt man die Auslagerungsdatei an den Anfang der Festplatte, ist der Zugriff um ca 10% schneller im Vergleich zur Festplattenmitte. Legt man die Swap-Datei an das Ende der Festplatte, steigt die Geschwindigkeit noch einmal um ca 10%. Außerdem sollte man darauf achten, dass Windows die Auslagerungsdatei nicht zerstückelt, denn dann muss der Schreib-/Lesekopf noch mehr bewegt werden. Man sollte deshalb möglichst nach fast jeder Windows-Sitzung die Festplatten defragmentieren.

Ich habe dafür aber sowieso eine extra Partition...

In einer Pressemitteilung von Microsoft hieß es, dass man nach Möglichkeit eine Swap-Datei auf derselben Partition anlegen soll, auf der Windows installiert ist, um einen besseren und schnelleren Zugriff zu haben. Der Grund liegt darin, dass Windows bei einer Extra-Partition ein Laufwerk mehr verwalten muss.

WinFAQ: Startseite | WinFAQ: HTMLMenü | WinFAQ: Java Version

Der Tipp enthält einen Fehler oder Sie haben noch eine Ergänzung dafür? Schreiben Sie uns über die Feedback-Seite an: Feedback-Formular

URL: http://www.winfaq.de/faq_html/Content/tip0000/tip0039.htm

WinFAQ ® Version 9.01 Copyright © 1996/2016 by Frank Ullrich