!memusage
Die Erweiterung !memusage zeigt zusammenfassende Statistiken über die Nutzung des physischen Speichers an.
Syntax
!memusage [Flags]
Parameter
Flaggen
Kann einer der folgenden Werte sein. Der Standardwert ist 0x0.
0x0
Zeigt allgemeine zusammenfassende Informationen zusammen mit einer detaillierteren Beschreibung der Seiten in der PFN-Datenbank an. Ein Beispiel für eine solche Ausgabe finden Sie im Abschnitt Bemerkungen.
0x1
Zeigt nur zusammenfassende Informationen über die geänderten No-Write-Seiten in der PFN-Datenbank an.
0x2
Zeigt nur detaillierte Informationen über die geänderten No-Write-Seiten in der PFN-Datenbank an.
0x8
Zeigt nur allgemeine zusammenfassende Informationen über die Speichernutzung an.
Umgebung
Modi: nur Kernelmodus
DLL
Kdexts.dll
Zusätzliche Informationen
Physikalische Speicherstatistiken werden aus der Datenbanktabelle PFN (Page Frame Number) des Memory Managers gesammelt.
Die Ausführung dieses Befehls nimmt viel Zeit in Anspruch, insbesondere wenn der Zielcomputer im 64-Bit-Modus läuft, da eine größere Datenmenge abgerufen werden muss. Während die PFN-Datenbank geladen wird, zeigt ein Zähler den Fortschritt an. Um das Laden zu beschleunigen, verwenden Sie eine Netzwerkverbindung oder erhöhen Sie die Geschwindigkeit des COM-Ports mit der Taste CTRL+A (Toggle Baud Rate) oder verwenden Sie den Befehl .cache (Set Cache Size), um die Cache-Größe zu erhöhen (vielleicht auf etwa 10 MB).
Der Befehl !memusage kann auch beim lokalen Kernel-Debugging verwendet werden.
Hier ist ein Beispiel für die Ausgabe dieser Erweiterung:
kd> !memusage
loading PFN database
loading (100% complete)
Compiling memory usage data (99% Complete).
Zeroed: 218 ( 872 kb)
Free: 831 ( 3324 kb)
Standby: 124049 ( 496196 kb)
Modified: 55101 ( 220404 kb)
ModifiedNoWrite: 58 ( 232 kb)
Active/Valid: 321846 ( 1287384 kb)
Transition: 8 ( 32 kb)
SLIST/Temp: 1533 ( 6132 kb)
Bad: 0 ( 0 kb)
Unknown: 0 ( 0 kb)
TOTAL: 503644 ( 2014576 kb)
Dangling Yes Commit: 184 ( 736 kb)
Dangling No Commit: 81706 ( 326824 kb)
Building kernel map
Finished building kernel map
Scanning PFN database - (100% complete)
...
Der Bericht enthält auch detaillierte Informationen über die für den Debugger sichtbare Speichernutzung.
Usage Summary (in Kb):
Control Valid Standby Dirty Shared Locked PageTables name
ffffaf0fb369f010 204 956 0 32 204 0 mapped_file( shell32.dll )
ffffaf0fb369f270 492 60 0 252 492 0 mapped_file( KernelBase.dll )
ffffaf0fb36ad050 20 36 0 0 20 0 mapped_file( WMIsvc.dll )
ffffaf0fb36adad0 88 144 0 40 88 0 mapped_file( Can't read file name buffer at ffffc10e0497e170 )
ffffaf0fb36b5670 780 1012 0 560 780 0 mapped_file( KernelBase.dll )
ffffaf0fb36b5910 44 144 0 28 44 0 mapped_file( cfgmgr32.dll )
ffffaf0fb36bc270 8 0 0 0 8 0 mapped_file( Can't read file name buffer at ffffc10e061a17d0 )
ffffaf0fb36bc520 24 56 0 4 24 0 mapped_file( ShareHost.dll )
...
In der ersten Spalte wird die Adresse der Kontrollbereichsstruktur angezeigt, die jede abgebildete Struktur beschreibt. Verwenden Sie den Erweiterungsbefehl !ca, um diese Kontrollbereiche anzuzeigen.
Hinweise
Sie können den Erweiterungsbefehl !vm verwenden, um die Nutzung des virtuellen Speichers zu analysieren. Diese Erweiterung ist in der Regel nützlicher als !memusage. Weitere Informationen zur Speicherverwaltung finden Sie unter Microsoft Windows Internals, von Pavel Yosifovich, Andrea Allievi, Alex Ionescu, Mark Russinovich und David Solomon.
Der Erweiterungsbefehl !pfn kann verwendet werden, um einen bestimmten Kachel-Eintrag in der PFN-Datenbank anzuzeigen.
Die Erweiterung !pool zeigt Informationen über eine bestimmte Poolzuweisung oder über den gesamten systemweiten Pool an.