Deaktivieren/Ändern der Größe des Windows Vista-Festplattencaches, um den freien Arbeitsspeicher zu erhöhen

Deaktivieren/Ändern der Größe des Windows Vista-Festplattencaches, um den freien Arbeitsspeicher zu erhöhen

Ich möchte meine Cache-Größe verringern, da ich eine langsame Festplatte habe und ein System ohne Swap-Speicher betreibe (so läuft es ziemlich flott). Ich habe x86 Vista und 3 GB RAM. Das Problem ist, dass Windows etwa 1 GB RAM für den Festplattencache verbraucht (wird im Task-Manager unter „Physischer Speicher“ -> „Cache“ angezeigt), sodass nur 2 GB für Anwendungen übrig bleiben. Jedes Mal, wenn Windows denkt, dass der Arbeitsspeicher knapp wird, wird ein sehr nerviges Popup angezeigt, und natürlich stürzen Anwendungen ab, wenn der Arbeitsspeicher verwendet wird. Aber es sind immer noch 1 GB im Cache!

Ich habe AnalogX Cache Booster ausprobiert, aber das hat nichts bewirkt, die Speichernutzung bleibt dieselbe, und auch die Anzahl der Warn-Popups ist gleich.

Antwort1

Ich habe ... ein Swap-freies System

Früher habe ich genauso gedacht. Ich habe inzwischen gelernt, dass dies in MS Windows einschlechtIdee und kann tatsächlichverletztLeistung.

Windows betrachtet RAM eher als eine Optimierungsschicht über der Festplatte. Es möchte nicht warten, bis Sie RAM auslagern müssen, bevor es auf die Festplatte ausgelagert/ausgelagert wird. Stattdessen möchte Windows, dass alles, was Sie in den RAM legen,bereitsausgelagert/ausgetauscht werden.

Auf diese Weise kann Windows den RAM einfach verwenden, wenn er für etwas anderes benötigt wird. Diese Strategie funktioniert, weil sie die (langsamen) Festplattenschreibvorgänge an den Stellen platziert, an denen Ihr Computer weniger beansprucht wird, auf Kosten von etwas langsameren Anwendungsladevorgängen und möglicherweise dem Auslagern einiger Dinge, die nicht erforderlich sind, und nicht an dem Punkt, an dem Ihr Computer bereits stärker beansprucht wird und der RAM knapp wird.

Natürlich könnte man meinen, man hätte das Beste aus beiden Welten, wenn man die Auslagerungsdatei vollständig entfernt. Es gibt jedoch jede Menge Code in Windows, der unter Annahme des Leistungsmodells, das ich gerade beschrieben habe, optimiert ist. Sie sind wirklich besser dran, wenn Sie sicherstellen, dass Sie mindestens so viel Swap-Speicherplatz wie RAM haben.

Antwort2

Standardmäßig erlaubt Vista (und höher) x86 nur 2 GBvirtuellSpeicher für jeden Prozess. Wenn eine Anwendung mehr benötigt, z. B. 3 GB, können Sie dies wie folgt erhöhen:

bcdedit /set IncreaseUserVa 3072

Dies funktioniert jedoch nur bei ausführbaren Dateien, die mit dem Flag „große Adressen berücksichtigen“ verknüpft wurden. Prozesse, die andere EXE-Dateien ausführen, sind weiterhin auf 2 GB beschränkt.

Realer RAM wird je nach Bedarf für Anwendungen und System zugewiesen.

Da dies nicht Ihr Problem zu sein scheint, kann man zur Optimierung der Speichernutzung zunächstDeaktivieren von SuperFetch unter Windows Vista:

Der SuperFetch-Dienst in Windows Vista lädt den Speicher Ihres Systems mit den Anwendungen vor, die Sie am häufigsten verwenden. Dadurch werden diese Anwendungen viel schneller gestartet, aber für Systemoptimierer oder Gamer kann dies ein unerwünschtes Verhalten sein.

Zweitens, um die Größe des Festplattencaches zu steuern,AnalogX CacheBoosterist ein kostenloses Tool, mit dem man angeblich den Festplatten-Cache optimieren kann (habe es selbst nie ausprobiert), aber angesichts der folgenden Informationen bin ich nicht sicher, ob es hilft.

Wie beschrieben inHandbuch zur Speicheroptimierung für Windows Vista, die Festplattencache-Parameter befinden sich in der Registrierung:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management

Einige wichtige Parameter sind:

DeaktivierenPagingExecutivesteuert, wie inaktive Kernelmodustreiber und Systemcode aus dem RAM freigegeben und in die Auslagerungsdatei ausgelagert werden können. Leider haben Sie keine Auslagerungsdatei, sodass Systemcode nie ausgelagert wird.

GroßerSystemCachesteuert die Größe des Dateisystem-Cache wie folgt:

  • 0 (Standard) Es wird ein Dateisystem-Cache in Standardgröße zugewiesen (weniger als 10 MB RAM)
  • 1 ermöglicht die Verwendung eines großen Dateisystem-Cache (bis zur gesamten RAM-Menge minus 4 MB!)

Wenn dieser Wert in Ihrem Fall Null ist, ist der Festplattencache bereits so klein wie möglich. Wenn die Leistung, die Sie erhalten, nicht zufriedenstellend ist, müssen Sie in Hardware investieren: entweder mehr RAM oder eine schnellere Festplatte. Eine Erhöhung des RAM von 3 GB auf 4 GB bringt Ihnen nur eine Steigerung von (1 GB - Videospeicher), es sei denn, Sie steigen auch auf eine 64-Bit-Version von Windows um.

Antwort3

Jedes Mal, wenn Windows denkt, dass nur noch wenig Arbeitsspeicher zur Verfügung steht, wird ein sehr nerviges Popup angezeigt und natürlich stürzen Apps ab, wenn der Arbeitsspeicher verwendet wird.

Dieses Popup hat nichts mit RAM und nichts mit dem Windows-Cache zu tun. Es bedeutet, dass Ihr Commit-Limit erschöpft ist. Dies ist eine Begrenzung dafür, wie viel privaten virtuellen Adressraum Ihre Prozesse zuweisen können.

Es gibt drei Möglichkeiten, Ihr Commit-Limit zu erhöhen: 1) weniger oder kleinere Dinge gleichzeitig ausführen; 2) den RAM erhöhen; 3) die Größe Ihrer Auslagerungsdatei erhöhen. Dies liegt daran, dass das Commit-Limit einfach die Größe des RAM plus die aktuelle Größe der Auslagerungsdatei ist.

Wenn Sie Ihre Auslagerungsdatei so aktivieren würden, wie es die Entwickler des Betriebssystems vorgesehen haben, würden Sie diese Meldungen nicht sehen und Ihre Programme würden nicht abstürzen.

Und trotz der Aussage von CausingUnderflowsEverywhere in ihrem Kommentar, manchmal braucht man eine Auslagerungsdatei, damit Programme den virtuellen Speicher zuweisen können, den sie benötigen,obwohl genügend RAM vorhanden ist, und obwohl die Auslagerungsdatei möglicherweise nicht tatsächlich verwendet wird. Warum, erfahren Sie in meinen AntwortenHierUndLinkbeschreibung hier eingebenHier.

Anmerkung: Der Großteil des vom Task-Manager gemeldeten „gespeicherten“ RAM ist noch „verfügbar“. Der SuperFetch-Cache „nutzt“ den RAM nicht wirklich. Der „Cache“ ist nicht die Ursache Ihres Problems. Das Fehlen einer Auslagerungsdatei ist die Ursache.

verwandte Informationen