Verbesserungen am Cache- und Speicher-Manager

In diesem Thema werden die Verbesserungen am Cache-Manager und Arbeitsspeicher-Manager in Windows Server 2012 und 2016 beschrieben.

Verbesserungen am Cache-Manager in Windows Server 2022

Der Cache-Manager ist jetzt NUMA-fähig, was sicherstellt, dass das System Datenverschiebungen über NUMA-Grenzen hinweg besser vermeiden kann. Das Vermeiden von Zugriffen von einem NUMA-Knoten auf Arbeitsspeicher und andere Kernelressourcen auf einem anderen NUMA-Knoten verursacht viel Mehraufwand. Dadurch, dass der Cache-Manager NUMA-fähig gemacht wurde, haben wir solche NUMA-übergreifenden Hops beseitigt und so zwischengespeicherte E/A-Workloads optimiert, die auf Konfigurationen mit mehreren Knoten ausgeführt werden.

Verbesserungen am Cache-Manager in Windows Server 2019

Wir haben Zero-Copy Unterstützung für PMEM-Speicher (Persistenter Arbeitsspeicher) hinzugefügt. Weitere Informationen zu persistentem Arbeitsspeicher finden Sie unter Grundlegendes zu und Bereitstellen von persistentem Arbeitsspeicher. Im DAX-Modus (Direktzugriff) arbeitet PMEM wie Arbeitsspeicher, um die niedrigste Latenz zu erzielen, wobei wir eine zusätzliche Kopie von Daten vermeiden und eine Menge Mehraufwand durch Minifilter des Dateisystems und aus dem Speicherstapel umgehen. Dieser Modus funktioniert nur mit NTFS als Dateisystem.

Verbesserungen am Cache-Manager in Windows Server 2016

Dem Cache-Manager wurde auch Unterstützung für echte asynchrone zwischengespeicherte Lesevorgänge hinzugefügt. Dies könnte die Leistung einer Anwendung potenziell verbessern, wenn sie stark von asynchronen zwischengespeicherten Lesevorgängen abhängig ist.  Während die meisten mitgelieferten Dateisysteme asynchrone zwischengespeicherte Lesevorgänge eine Zeit lang unterstützt haben, gab es häufig Leistungseinschränkungen aufgrund verschiedener Entwurfsentscheidungen im Zusammenhang mit der Handhabung von Threadpools und internen Arbeitswarteschlangen von Dateisystemen.  Mit Unterstützung von kernel-proper blendet der Cache-Manager jetzt alle Komplexitäten der Threadpool- und Arbeitswarteschlangenverwaltung in Dateisystemen aus, sodass er asynchrone zwischengespeicherte Lesevorgänge effizienter verarbeiten kann. Cache-Manager verfügt über einen Satz von Steuerungsdatenstrukturen für jede der (systemseitig maximal unterstützten) VHD-Schachtelungsebenen, um die Parallelität zu maximieren.

Verbesserungen am Cache-Manager in Windows Server 2012

Zusätzlich zu den Verbesserungen am Cache-Manager zum Vorauslesen von Logik für sequenzielle Workloads wurde eine neue API CcSetReadAheadGranularityEx hinzugefügt, damit Dateisystemtreiber, z. B. SMB, ihre Read-Ahead-Parameter ändern können. Es ermöglicht einen besseren Durchsatz für Remotedateiszenarien, indem mehrere kleine Read-Ahead-Anforderungen gesendet werden, anstatt eine einzelne große Read-Ahead-Anforderung zu senden. Nur Kernelkomponenten, z. B. Dateisystemtreiber, können diese Werte programmgesteuert pro Datei konfigurieren.

Verbesserungen am Arbeitsspeicher-Manager in Windows Server 2012

Das Aktivieren des Kombinierens von Seiten kann die Arbeitsspeicherauslastung auf Servern reduzieren, die viele private auslagerbare Seiten mit identischen Inhalten aufweisen. Beispielsweise können Server, auf denen mehrere Instanzen derselben speicherintensiven App ausgeführt werden oder eine einzelne App, die mit sich häufig wiederholenden Daten arbeitet, gute Kandidaten sein, um das Kombinieren von Seiten auszuprobieren. Der Nachteil der Aktivierung des Kombinierens von Seiten besteht in einer erhöhten CPU-Auslastung.

Im Folgenden finden Sie einige Beispiele für Serverrollen, bei denen das Kombinieren von Seiten wahrscheinlich keinen großen Nutzen bringen wird:

  • Dateiserver (der größte Teil des Arbeitsspeichers wird von Dateiseiten belegt, die nicht privat und somit nicht kombinierbar sind)

  • Microsoft SQL Server, die für die Verwendung von AWE oder großen Seiten konfiguriert sind (der größte Teil des Arbeitsspeichers ist privat, aber nicht auslagerbar)

Das Kombinieren von Seiten ist standardmäßig deaktiviert, kann aber mithilfe des Windows PowerShell-Cmdlets Enable-MMAgent aktiviert werden. Das Kombinieren von Seiten wurde in Windows Server 2012 hinzugefügt.