
Seit ich den Arbeitsspeicher meines Computers erweitert habe, ist der nicht ausgelagerte Pool sehr groß geworden (er stieg von 96 MB mit 2 GB RAM auf 715 MB mit 16 GB).
Das ist nicht verständlich, da der Task-Manager aufgrund von Prozessen weniger als 1 MB nicht ausgelagerten Pool meldet. Und Poolmon meldet 35 MB für die größte nicht ausgelagerte Pool-Speichernutzung.
Diese Screenshots wurden direkt nach dem Start erstellt, es handelt sich also nicht um einen Speicherverlust in einem Treiber oder ähnlichem. Wenn ich ein Image erstelle und es in einer VM starte, werden nach dem Start nur 350 MB Speicher verwendet!
Um die Größe des nicht ausgelagerten Pools zu begrenzen, gibt Microsoft hier einen Wert in der Registrierung an:https://technet.microsoft.com/en-us/library/cc976155.aspxaber das Ausführen und Neustarten löst das Problem nicht. Ich habe versucht, Werte in Bytes (in der Dokumentation steht das), in KB und MB anzugeben. Kein Glück.
Unter Linux kann ich 3D-Szenen rendern, die bis zu 15,2 GB beanspruchen. Unter Windows kann ich aufgrund einiger Schutzmaßnahmen und dieses riesigen Pools nur 12 GB verwenden, und dann beginnt das Auslagern auf die Festplatte, wodurch ein Rendervorgang > 20 Minuten dauert, anstatt 1 Minute und 24 Sekunden unter Linux.
Wie kann ich also die Größe des nicht ausgelagerten Pools begrenzen?
Antwort1
Wenn Sie ein Programm ausführen, das viel Speicher benötigt (z. B. eine 3D- oder Fotoanwendung), und diesem genügend Speicher zur Verwendung der Auslagerungsdatei zur Verfügung steht, wird der nicht ausgelagerte Speicher freigegeben.
Ich habe keine Ahnung, warum, aber genau in dem Moment, in dem die Auslagerungsdatei verwendet wird, fällt der nicht ausgelagerte Pool von 750 MB auf 200 MB und bleibt danach auf diesem Niveau (getestet während mehrerer Stunden intensiver Arbeit mit vielen laufenden Programmen und großer Speichernutzung).
In meinem Fall blockiert Windows 7 nur 350 MB des insgesamt 16 GB großen Speichers (im Vergleich zu 1 GB beim Start). Natürlich wird viel mehr Speicher verwendet, aber dies wird durch die Zwischenspeicherung sinnvoll genutzt, da er verfügbar ist, während Programme schneller gestartet werden und Daten aus dem RAM statt von der Festplatte gelesen werden. Ein so großer standardmäßiger nicht ausgelagerter Pool ist einfach verlorener Speicher, wodurch das System viel früher mit dem Auslagern beginnt, als es sollte.
Dieser Fehler eines riesigen nicht ausgelagerten Startpools tritt bei Windows-Versionen vor 7 nicht auf.