Treten Leistungsprobleme in auch Systemdateicache verbraucht den meisten Speicher

Gilt für: Microsoft Windows XP Professional x64 EditionWindows Vista Home BasicWindows Vista Home Premium

Problembeschreibung


Treten Leistungsprobleme in Programmen und Diensten in verschiedenen Versionen von Windows XP, Windows Vista, Windows Server 2003, Windows Server 2008 und Windows Server 2008 R2. Darüber hinaus sehen Sie die folgenden Symptome auf:
  • Arbeitsspeicher ist nahezu erschöpft.
  • Systemdateicache verbraucht den meisten Speicher.
  • Es wird eine hohe Anzahl von zwischengespeicherten Leseanfragen auf die Festplatte.

Ursache


Speicherverwaltung in Microsoft Windows-Betriebssysteme verwendet bei Bedarf einen Algorithmus. Wenn alle Anfragen und viel Speicherplatz verwendet vergrößert an (die Anzahl der Speicherseiten im physischen Arbeitsspeicher) des Prozesses. Wenn diese Anfragen kontinuierlichen und deaktiviert sind, wächst das Workingset des Prozesses physikalischen RAM verbrauchen. In diesem Fall werden die Arbeitsseiten für alle Prozesse auf die Festplatte ausgelagert. Dies verringert die Leistung von Programmen und Diensten, da die Speicherseiten kontinuierlich auf die Festplatte geschrieben und von der Festplatte gelesen.

Dies gilt auch für das Workingset des Systemdateicache. Ist eine hohe Lautstärke zwischengespeicherte Leseanfragen einen Prozess oder einen Treiber, wächst die Arbeitssatzgröße des Systemdateicache zur Erfüllung dieser Anforderung. Systemdateicache verbraucht physischen RAM. Daher sind nicht ausreichende Mengen an physischem RAM für andere Prozesse verfügbar.

Auf 32-Bit-Versionen von Microsoft Windows-Betriebssystemen vor Windows Vista haben die Arbeit Systemdateicache theoretische Speicherlimit von 1 Gigabyte (GB). Die Beschränkung des virtuellen Adressbereichs verhindert, dass Workingsets Systemdateicache physischen Arbeitsspeicher verbraucht.

Kernel-Ressourcen werden auf 32-Bit-Versionen von Windows Vista-Betriebssystemen dynamisch zugewiesen. Das Workingset des Systemdateicache erhöht den virtuelle Adressbereich des Kernelmodus auf Kosten anderer Kernelressourcen verbrauchen. Die Beschränkung dieser Speicherbereich ist weniger als 2 GB. Verfügt der Computer über mehr als 2 GB Arbeitsspeicher, kann nicht der Cache den physischen RAM aufgebraucht. Der Cache kann jedoch den virtuellen Adressraum im Kernel erschöpfen. Dadurch können für andere Kernelkomponenten Zuordnungsfehler.

Auf 64-Bit-Versionen von Windows-Betriebssystemen ist die Größe des virtuellen Adressbereichs normalerweise größer als der Arbeitsspeicher. In diesem Fall können die Arbeitsseiten Systemdateicache um den meisten Speicher belegen.

Problemlösung


Speicher-Management-Algorithmen in Windows 7 und Windows Server 2008 R2 wurden aktualisiert, um viele Datei Zwischenspeicher-Probleme, die in früheren Versionen von Windows gefunden wurden. Es gibt nur eindeutigen Situationen in denen müssen Sie diesen Dienst auf Computern implementieren, auf dem Windows 7 oder Windows Server 2008 R2 ausgeführt werden.

Ermitteln, ob Ihr System betroffen ist

Um festzustellen, ob Ihr System von diesem Problem betroffen ist, installieren Sie das SysInternals RamMap Tool. Sie erhalten das Tool von der folgenden Windows Sysinternals-Website:
 
Beim Ausführen des Tools die Option Verwendung zählt . Mehrere Spalten, die das aktuelle Muster der Speicherverwendung anzeigen angezeigt. Klicken Sie auf die aktive Spalte sortieren nach der Anzahl der Bytes verwendet, und die oberen Verwendung direkt unterhalb der Summe.

Wenn oben verwenden "Metadatei" und wenn ein Großteil des Arbeitsspeichers verwendet wird, das im Abschnitt "Symptome" beschriebene Problem Systemdateicache auftreten. Sie können dies überprüfen, mithilfe von Systemmonitor zu Memory\System Cache Residente Bytes Leistungsindikator überwachen den Cache ständig mit der Zeit wachsen.

Abbildung 1. RamMap Ausgabe in dem Computer das Problem auftritt.



Abbildung 2. RamMap Ausgabe mit der Computer nicht das Problem ist.



Der Leistungsindikator Memory\System Residente Bytes Aufwärtstrend Zeitverlauf zeigt, ist der Computer das Problem auftritt, wie in Abbildung 3 dargestellt.

Abbildung 3. Systemmonitor Ausgabe mit dem Computer das Problem mit der Zeit auftritt.

Neustart

Sie müssen keinen Neustart des Computers beim Installieren, deinstallieren oder diesen Dienst verwenden.
Gehen folgendermaßen Sie vor, um das Problem zu beheben, sollten Sie diesen Artikel lesen, mit dem Kunden arbeiten glaubt, dass sie von diesem Problem betroffen sind.
  1. Überprüfen Sie, ob der Kunde RamMap Ausgabe Perfmon oder den Poolmon bestätigt, dass dem meisten physischen RAM verbraucht wie oben beschrieben.
  2. Windows Dynamic Cache Service downloaden sie hier.
  3. Einige dynamische Cache-Registrierungseinträge lauten wie folgt:

    Dateiserver, 1 GB versuchen möchten.
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters]
    "MaxSystemCacheMBytes"=dword:00000400
    "MinSystemCacheMBytes"=dword:00000064
    "SampleIntervalSecs"=dword:0000003c
    "CacheUpdateThresholdMBytes"=dword:00000064

    Exchange 2007 möchten Sie 500 MB versuchen:
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters]
    "MaxSystemCacheMBytes"=dword:000001F4
    "MinSystemCacheMBytes"=dword:00000064
    "SampleIntervalSecs"=dword:0000003c
    "CacheUpdateThresholdMBytes"=dword:00000064

    SQL 2005 und höher in der Vergangenheit beim Arbeiten mit SQL EE 2 GB verwendet haben:
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters]
    "MaxSystemCacheMBytes"=dword:000007D0
    "MinSystemCacheMBytes"=dword:00000064
    "SampleIntervalSecs"=dword:0000003c
    "CacheUpdateThresholdMBytes"=dword:00000064

Weitere Informationen


Um dieses Problem zu umgehen, verwenden Sie GetSystemFileCacheSize API-Funktion und die SetSystemFileCacheSize -API-Funktion den maximalen oder minimalen Wert für die Arbeitsseiten des Systemdateicache festgelegt. Die Verwendung dieser Funktionen ist die einzige unterstützte Methode beschränkt den Speicherverbrauch durch Systemdateicache.

Microsoft Windows Dynamic Cache Service ist ein Beispieldienst, der eine Strategie um diese APIs verwenden, um die Effekte des Problems minimieren veranschaulicht.

Installieren und Verwenden der Microsoft Dynamic Cachedienst verursacht keine Ausschluss Unterstützung für Microsoft Windows. Dieser Dienst und seinen Quellcode dienen als Beispiel verwenden Microsoft APIs, um das Wachstum der Dateisystemcache reduzieren unterstützt.

Service und Source Code erhalten Sie von der folgenden Microsoft-Website:
 

Zusätzliche Ressourcen

Lesen Sie Kapitel 9 (Speicher-Management) und 10 (Cache Manager) von Windows Internals, 5. Auflage.

MEMORY MANAGEMENT (GROßER CACHE SYSTEMPROBLEME) Blogbeitrag

Langsame große Datei kopieren Probleme Blogbeitrag

Speicherlimits für Windows-Versionen

976618 Leistungsprobleme in auch wenn Systemdateicache den meisten Speicher verbraucht

918483 wie Paging Puffer Poolspeicher in der 64-Bit-Version von SQL Server reduziert

895932 vor dem System ermöglichen cache-Modus in Windows XP

232271 wie Windows NT-Server die Registrierung optimieren

837331 zum Cache-Manager in WindowsServer 2003

http://technet2.microsoft.com/windowsserver/en/library/EFA621BD-A031-4461-9E72-59197A7507B61033.mspx

LargeSystemCache TechNet-Thema

RamMap Blogbeitrag

Status


Microsoft hat bestätigt, dass es sich um ein Problem bei den Microsoft-Produkten handelt, die im Abschnitt „Eigenschaften“ aufgeführt sind.