Problembeschreibung

Leistungsprobleme bei Anwendungen und Diensten in verschiedenen Versionen von Windows XP, Windows Vista, Windows Server 2003, Windows Server 2008 und Windows Server 2008 R2. Darüber hinaus stellen Sie die folgenden Symptome fest:

  • Der verfügbare Arbeitsspeicher ist fast ausgesert.

  • Der Cache für Systemdatei verbraucht den größten Teil des physischen RAM.

  • Es gibt eine fortlaufende und große Anzahl zwischengespeicherter Leseanforderungen an die Festplatte.

Ursache

Die Speicherverwaltung in Microsoft Windows-Betriebssystemen verwendet einen anforderungsbasierten Algorithmus. Wenn ein Prozess eine große Menge an Arbeitsspeicher anfordert und verwendet, erhöht sich die Größe des Arbeitssets (die Anzahl der Arbeitsspeicherseiten im physischen RAM) des Prozesses. Wenn diese Anforderungen kontinuierlich und deaktiviert sind, wird der Arbeitssatz des Prozesses größer und verbraucht den physischen RAM. In diesem Fall werden die Arbeitssätze für alle anderen Prozesse auf die Festplatte verkettet. Dieses Verhalten verringert die Leistung von Anwendungen und Diensten, da die Speicherseiten kontinuierlich auf die Festplatte geschrieben und von der Festplatte gelesen werden.

Dieses Verhalten gilt auch für den Arbeitssatz des Systemdateicaches. Wenn eine fortlaufende und große Menge von zwischengespeicherten Leseanforderungen von einem beliebigen Prozess oder Treiber vorhanden ist, wird die Arbeitssatzgröße des Systemdateicaches anwachsen, um diese Anforderung zu erfüllen. Der Cache für Systemdatei verbraucht den physischen RAM. Daher stehen für andere Prozesse keine ausreichenden physischen RAM-Mengen zur Verfügung.

Bei 32-Bit-Versionen von Microsoft Windows-Betriebssystemen vor Windows Vista haben die Arbeitssätze des Systemdateicaches eine theoretische Arbeitsspeichergrenze von weniger als 1 Gigabyte (GB). Die Beschränkung des virtuellen Adressbereichs verhindert, dass die Arbeitssätze des Systemdateicaches den physischen RAM ausschöpfen.

Unter 32-Bit-Versionen von Windows Vista werden Kernelressourcen dynamisch zugeordnet. Der Arbeitssatz des Systemdateicaches erhöht sich, um den virtuellen Adressbereich des Kernelmodus auf Kosten anderer Kernelressourcen zu nutzen. Die Beschränkung dieses Speicherbereichs beträgt weniger als 2 GB. Wenn der Computer über mehr als 2 GB physischen RAM verfügt, kann der Cache nicht den ganzen physischen RAM ausschöpfen. Der Cache kann jedoch den virtuellen Adressraum im Kernel ausschöpfen. Dies kann zu Zuteilungsfehlern für andere Kernelkomponenten führen.

Bei 64-Bit-Versionen von Windows-Betriebssystemen ist die Größe des virtuellen Adressbereichs in der Regel größer als der physische RAM. In diesem Fall kann der Arbeitssatz für den Systemdateicache zunehmen und den meisten physischen RAM verbrauchen.

Fehlerbehebung

Die Arbeitsspeicherverwaltungsalgorithmen unter Windows 7 und Windows Server 2008 R2 wurden aktualisiert, um viele Probleme beim Zwischenspeichern von Dateien zu beheben, die in früheren Versionen von Windows gefunden wurden. Es gibt nur bestimmte situationen, in denen Sie diesen Dienst auf Computern implementieren müssen, auf denen Windows 7 oder windows Windows Server 2008 R2.

So bestimmen Sie, ob Ihr System betroffen ist

Um festzustellen, ob Ihr System von diesem Problem betroffen ist, installieren Sie das Tool SysInternals RamMap. Sie können das Tool von der folgenden Windows Sysinternals-Website abrufen:

http://technet.microsoft.com/en-us/sysinternals/ff700229
Wenn Sie das Tool ausführen, wählen Sie die Option "Anzahl verwenden" aus. Dadurch werden mehrere Spalten angezeigt, die das aktuelle Muster der Speicherauslastung zeigen. Klicken Sie auf die Spalte "Aktiv", um nach der Anzahl der verwendeten Bytes zu sortieren, und notieren Sie sich die höchste Verwendung direkt unter der Summe.

Wenn die Anzahl der Systemdateien am oberen Rand "Metadatei" ist und ein großer Teil des verfügbaren Arbeitsspeichers verwendet wird, liegt das Problem beim Systemdateicache vor, das im Abschnitt "Symptome" beschrieben wird. Sie können dies mithilfe der Leistungsüberwachung überprüfen, um den Zähler "Memory\System Cache Resident Bytes" zu überwachen und zu sehen, wie der Cache im Laufe der Zeit kontinuierlich anwachsen kann.

Abbildung 1. Beispiel für eine RamMap-Ausgabe, bei der das Problem auf dem Computer auftritt.


Alternativtext
Abbildung 2. Beispiel für eine RamMap-Ausgabe, bei der das Problem auf dem Computer nicht auftritt.


Alternativtext
Wenn der Zähler "Memory\System Cache Resident Bytes" in der Leistungsüberwachung im Laufe der Zeit einen Aufwärtstrend zeigt, liegt das Problem auf dem Computer vor, wie in Abbildung 3 dargestellt.

Abbildung 3. Beispiel für die Ausgabe der Leistungsüberwachung, bei der das Problem auf dem Computer im Laufe der Zeit auftritt.

Alternativtext

Anforderungen für neustarten

Sie müssen den Computer nicht neu starten, wenn Sie diesen Dienst installieren, deinstallieren oder verwenden.

Wenn Sie diesen Artikel lesen, weil Sie mit einem Kunden zusammenarbeiten, der der Meinung ist, dass er von diesem Problem betroffen ist, führen Sie die folgenden Schritte aus, um das Problem zu beheben.

  1. Stellen Sie sicher, dass die RamMap-Ausgabe-, Perfmon- oder Poolmondaten des Kunden bestätigen, dass der Systemdateicache den meisten physischen RAM verbraucht, wie zuvor beschrieben.

  2. Um den dynamischen Cachedienst von Windows zu erhalten, laden Sie ihn hier herunter.

  3. Die Registrierungseinstellungen für den dynamischen Cache sind wie folgt:

    Dateiserver können Sie 1 GB ausprobieren.
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters]
    "MaxSystemCacheMBytes"=dword:00000400
    "MinSystemCacheMBytes"=dword:00000064
    "SampleIntervalSecs"=dword:0000003c
    "CacheUpdateThresholdMBytes"=dword:00000064

    Exchange 2007 können Sie 500 MB ausprobieren:
    [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 bei der Arbeit mit E-SQL A0 2 GB verwendet:
    [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 beheben, verwenden Sie die API-Funktion "GetSystemFileCacheSize" und die API-Funktion SetSystemFileCacheSize, um den maximalen oder minimalen Größenwert für die Arbeitssätze des Systemdateicaches zu festlegen. Die Verwendung dieser Funktionen ist die einzige unterstützte Methode, um die Nutzung von physischem Arbeitsspeicher durch den Dateicache des Systems einzuschränken.

Der dynamische Cachedienst von Microsoft Windows ist ein Beispieldienst, der eine Strategie veranschaulicht, mit der diese APIs verwendet werden, um die Auswirkungen dieses Problems zu minimieren.

Die Installation und Verwendung des dynamischen Cachediensts von Microsoft führt nicht zum Ausschluss der Unterstützung für Microsoft Windows. Dieser Dienst und dessen Quellcode sind ein Beispiel für die Verwendung der von Microsoft unterstützten APIs, um das Wachstum des Dateisystemcaches zu verringern.

Sie können den Dienst und den Quellcode von der folgenden Microsoft-Website beziehen:

http://www.microsoft.com/download/details.aspx?FamilyID=e24ade0a-5efe-43c8-b9c3-5d0ecb2f39af&displaylang=en

Weitere Ressourcen

Lesen Sie Kapitel 9 (Speicherverwaltung) und 10 (Cache-Manager) von Windows Internals, der 5. Edition.

SPEICHERVERWALTUNG (PROBLEME BEIM SYSTEMCACHE) Blogbeitrag

Blogbeitrag zu langsamen Problemen beim Kopieren großer Dateien

Arbeitsspeicherlimits für Windows Releases

976618 Es gibt Leistungsprobleme bei Anwendungen und Diensten, wenn der Systemdateicache den größten Teil des physischen RAM 918483 verbraucht. Verringern der Auslagerung des Pufferpoolspeichers in der 64-Bit-Version von SQL Server 89593 2 Was Sie berücksichtigen sollten, bevor Sie den Systemcachemodus in Windows XP 232271 aktivieren: Optimieren von Windows NT Server mithilfe der Registrierung







837331 über den Cache-Manager in Windows Server 2003

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

LargeSystemCache TechNet Topic

RamMap– Blogbeitrag 

Status

Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.

Benötigen Sie weitere Hilfe?

Ihre Office-Fähigkeiten erweitern
Schulungen erkunden
Neue Funktionen als Erster erhalten
Microsoft Insider beitreten

War diese Information hilfreich?

Wie zufrieden sind Sie mit der Übersetzungsqualität?
Was hat Ihre Erfahrung beeinflusst?

Vielen Dank für Ihr Feedback!

×