!memusage
A extensão !memusage exibe estatísticas resumidas sobre o uso de memória física.
Sintaxe
!memusage [Flags]
Parâmetros
Sinalizadores
Pode ser qualquer um dos valores a seguir. O padrão é 0x0.
0x0
Exibe informações gerais resumidas, juntamente com uma descrição mais detalhada das páginas no banco de dados de PFN. Consulte a seção Comentários para obter um exemplo desse tipo de saída.
0x1
Exibe somente informações resumidas sobre as páginas de não gravação modificadas no banco de dados de PFN.
0x2
Exibe somente informações detalhadas sobre as páginas de não gravação modificadas no banco de dados de PFN.
0x8
Exibe apenas informações resumidas gerais sobre o uso da memória.
Ambiente
Modos: somente modo kernel
DLL
Kdexts.dll
Informações Adicionais
As estatísticas de memória física são coletadas da tabela de banco de dados de número de quadros de página (PFN) do Gerenciador de Memória.
Esse comando leva muito tempo para ser executado, principalmente se o computador de destino estiver funcionando no modo de 64 bits, devido à maior quantidade de dados a serem obtidos. Enquanto ele está carregando o banco de dados de PFN, um contador mostra seu progresso. Para acelerar esse carregamento, use uma conexão de rede ou aumente a velocidade da porta COM com a tecla CTRL+A (Ativar/Desativar Taxa de Transmissão) ou use o comando .cache (Definir Tamanho do Cache) para aumentar o tamanho do cache (talvez para cerca de 10 MB).
O comando !memusage também pode ser usado durante a execução da depuração do kernel local.
Veja a seguir um exemplo da saída dessa extensão:
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)
...
No relatório também estão incluídas informações detalhadas sobre o uso da memória que é visível para o depurador.
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 )
...
A primeira coluna exibe o endereço da estrutura da área de controle que descreve cada estrutura mapeada. Use o comando de extensão !ca para exibir essas áreas de controle.
Comentários
Você pode usar o comando de extensão !vm para analisar o uso da memória virtual. Essa extensão geralmente é mais útil do que !memusage. Para obter mais informações sobre gerenciamento de memória, consulte Microsoft Windows Internals, de Pavel Yosifovich, Andrea Allievi, Alex Ionescu, Mark Russinovich e David Solomon.
O comando de extensão !pfn pode ser usado para exibir uma entrada de quadros de página específica no banco de dados de PFN.
A extensão !pool exibe informações sobre uma alocação de pool específica ou sobre o pool inteiro de todo o sistema.