Applies ToMicrosoft Windows XP Professional x64 Edition Windows Vista Home Basic Windows Vista Home Premium Windows Vista Business Windows Vista Enterprise Windows Vista Ultimate Windows Vista Home Basic 64-bit Edition Windows Vista Home Premium 64-bit Edition Windows Vista Enterprise 64-bit Edition Windows Vista Ultimate 64-bit Edition Windows Server 2008 Datacenter without Hyper-V Windows Server 2008 Enterprise without Hyper-V Windows Server 2008 Standard without Hyper-V Windows Server 2008 Datacenter Windows Server 2008 Enterprise Windows Server 2008 Standard Windows Server 2008 for Itanium-Based Systems Windows Server 2008 R2 Datacenter Windows Server 2008 R2 Enterprise Windows Server 2008 R2 Service Pack 1 Windows Server 2008 R2 Standard

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) BlogbeitragBlogbeitrag zu langsamen Problemen beim Kopieren großer DateienArbeitsspeicherlimits für Windows Releases976618 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.mspxLargeSystemCache TechNet TopicRamMap– 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?

Möchten Sie weitere Optionen?

Erkunden Sie die Abonnementvorteile, durchsuchen Sie Trainingskurse, erfahren Sie, wie Sie Ihr Gerät schützen und vieles mehr.