Windows 2003 Server - Auslagerungsdatei trotz genügend Arbeitsspeicher riesig
Hallo Forum.
Ich habe hier ein kleines "Problem" mit einem Windows 2003 Standard Server.
Dieser ist im Moment jedoch erst im Testbetrieb, und läuft im produktiven Einsatz dann auf anderer Hardware (Blade o.ä.).
Im Moment läuft er auf einem Compaq ML310 G2, 1x 2.8 GHz und 2.5 GB RAM.
Darauf ist Symantec Mail Security for SMTP 5.1 installiert.
Die eingebaute Festplatte ist eine langsame IDE-Festplatte mit 36 GB.
Am Anfang waren nur 512 MB RAM eingebaut, und die Auslagerungsdatei war über 1 GB gross.
512 MB sind so oder so zu wenig, also 2 GB bestellt und eingebaut.
Jetzt:
Warum ist die Auslagerungsdatei ein ganzes GB gross?
Zurzeit braucht er durchschnittlich etwa 500 MB der 2.5 GB RAM ... wie kann man ihn daran hindern, dass er soviel auf diese langsame IDE-HD auslagert anstatt es im RAM zu behalten?
Greetz, Lousek
Ich habe hier ein kleines "Problem" mit einem Windows 2003 Standard Server.
Dieser ist im Moment jedoch erst im Testbetrieb, und läuft im produktiven Einsatz dann auf anderer Hardware (Blade o.ä.).
Im Moment läuft er auf einem Compaq ML310 G2, 1x 2.8 GHz und 2.5 GB RAM.
Darauf ist Symantec Mail Security for SMTP 5.1 installiert.
Die eingebaute Festplatte ist eine langsame IDE-Festplatte mit 36 GB.
Am Anfang waren nur 512 MB RAM eingebaut, und die Auslagerungsdatei war über 1 GB gross.
512 MB sind so oder so zu wenig, also 2 GB bestellt und eingebaut.
Jetzt:
Warum ist die Auslagerungsdatei ein ganzes GB gross?
Zurzeit braucht er durchschnittlich etwa 500 MB der 2.5 GB RAM ... wie kann man ihn daran hindern, dass er soviel auf diese langsame IDE-HD auslagert anstatt es im RAM zu behalten?
Greetz, Lousek
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 98513
Url: https://administrator.de/contentid/98513
Ausgedruckt am: 20.11.2024 um 18:11 Uhr
11 Kommentare
Neuester Kommentar
Ist doch ganz normal. Die Auslagerungsdatei sollte niemals kleiner als der verfügbare Arbeitsspeicher sein. Das geht schon bei Dingen wie "Full Crashdump" usw. los. Du kannst das Verhalten, wie Windows diese Nutzt steuern. Das hat aber nichts mit der Größe der Datei selbst zu tun. Prüfe über die Leistungskonsole wie viel Speicher tatsächlich ausgelagert wird und ändere deine Konfiguration entsprechend, falls nötig.
Der Taskmanager "lügt", daß was unter Auslagerungsdatei angezeigt wird ist der zugesicherte Speicher, nicht die verwendete Größe der Auslagerungsdatei (typische MS Fehlinformationen halt).
Im Perfmon unter Datenobjekt Auslagerungsdatei - Leistungsindikator Benutzung kannst Du die Benutzung der Auslagerungsdatei sehen.
Für die Performance ist es übrigens am Besten, wenn man Anfangs und Endgröße gleich macht, dann wird gleich beim Booten das Pagefile am Stück angelegt und fragmentiert nicht so, wie wenn es öfters vergrößert werden muß.
Und bei Anfangswert 0 MB wirst Du vermutlich schnell das PopUp bekommen, daß der virtuelle Speicher nicht ausreicht und die Auslagerungsdatei vergrößert werden muß.
Windows ist sich nur gerne sicher, daß er bei Bedarf den RAM Inhalt auf die Platte schreiben kann, falls eine andere Anwendung ihn braucht, deswegen sollte die Auslagerungsdatei mindestens so groß sein wie der physikalische Arbeitsspeicher. Je nachdem wie die Anwendungen Speicher reservieren auch größer.
Im Perfmon unter Datenobjekt Auslagerungsdatei - Leistungsindikator Benutzung kannst Du die Benutzung der Auslagerungsdatei sehen.
Für die Performance ist es übrigens am Besten, wenn man Anfangs und Endgröße gleich macht, dann wird gleich beim Booten das Pagefile am Stück angelegt und fragmentiert nicht so, wie wenn es öfters vergrößert werden muß.
Und bei Anfangswert 0 MB wirst Du vermutlich schnell das PopUp bekommen, daß der virtuelle Speicher nicht ausreicht und die Auslagerungsdatei vergrößert werden muß.
Windows ist sich nur gerne sicher, daß er bei Bedarf den RAM Inhalt auf die Platte schreiben kann, falls eine andere Anwendung ihn braucht, deswegen sollte die Auslagerungsdatei mindestens so groß sein wie der physikalische Arbeitsspeicher. Je nachdem wie die Anwendungen Speicher reservieren auch größer.
Die Frage ist halt, will ich vorher etwas Performance verlieren, kann aber Speicheranforderungen zügig befriedigen (da Speicher frei ist durch Auslagern bevor alles zu 100 % voll ist) oder will ich bis zum richtigen vollen Speicher bessere Performance, aber dann muß eine Anwendung die viel Speicher haben will halt warten bis genügend ausgelagert ist.
Windows macht halt das erste, Linux das zweite.
Windows macht halt das erste, Linux das zweite.
Linux lagert auch bereits viel früher aus. Wenn eine OOM-Situation eintrifft, ist es meistens zu spät um noch auszulagern. Er Organisiert eben den Speicher anders. Wenn du zb. einen mySQL Server unter Linux betreibst, wird der Speicher der SQL-DB als "NON-PAGEABLE" markiert was Linux am auslagern hindert. Andernfalls würde er, je nachdem wir die Cache-Rate und das Paging konfiguriert wurde, ebenfalls auslagern wenn das konfigurierte "limit" erreicht wurde. Kannst du unter /proc/sys/vm/* konfigurieren.
Unter Windows kannst du ähnliches in der Registry oder den Systemeigenschaften konfigurieren. Du kannst dort auch erzwingen, das der Cache erst genutzt wird, wenn der RAM fast voll ist. Dummerweise hast du dann zig MB an Ausführbarem Code im RAM liegen, der nur alle paar Tage oder Monate mal ausgeführt wird. Ich würde alles so lassen. Das Caching-Verhalten muss man wirklich nur im extremfall (Massiver Speicherdurchsatz zb. auf Proxyservern oder SQL-Datenbanken) ändern.
Unter Windows kannst du ähnliches in der Registry oder den Systemeigenschaften konfigurieren. Du kannst dort auch erzwingen, das der Cache erst genutzt wird, wenn der RAM fast voll ist. Dummerweise hast du dann zig MB an Ausführbarem Code im RAM liegen, der nur alle paar Tage oder Monate mal ausgeführt wird. Ich würde alles so lassen. Das Caching-Verhalten muss man wirklich nur im extremfall (Massiver Speicherdurchsatz zb. auf Proxyservern oder SQL-Datenbanken) ändern.