!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.