Como utilizar o monitor de blocos de memória (Poolmon.exe) para resolver problemas relacionados com as fugas de memória do modo kernel

Traduções de Artigos Traduções de Artigos
Artigo: 177415 - Ver produtos para os quais este artigo se aplica.
IMPORTANTE: este artigo contém informações sobre como modificar o registo. Antes de modificar o registo, certifique-se de que efectua uma cópia de segurança e de que compreende como o pode restaurar se ocorrer um problema. Para obter informações sobre como efectuar uma cópia de segurança, restaurar e editar o registo, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft (KB, Microsoft Knowledge Base):
256986 Descrição do registo do Microsoft Windows
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Este artigo descreve como usar o utilitário para monitorizar blocos de memória, Poolmon.exe, como uma ferramenta de resolução de problemas para monitorizar sinalizadores de memória. O Poolmon apresenta dados recolhidos pelo sistema operativo sobre atribuições de memória dos blocos de kernel paginados e não paginados do sistema e os blocos de memória utilizados para sessões dos serviços de terminal. Os dados são agrupados por sinalizador de atribuição de bloco. Estas informações podem ser utilizadas pelo suporte técnico da Microsoft para detectar fugas de memória no modo kernel.

Uma fuga de memória é provocada por uma aplicação ou por um processo que reserva memória para utilização, mas que não a liberta quando termina. Consequentemente, a memória disponível é completamente utilizada ao longo do tempo, provocando frequentemente falhas no funcionamento do sistema.

Mais Informação

A primeira secção que se segue descreve como activar o modo de sinalização para utilizar o Poolmon. A segunda secção descreve como recolher as informações de resolução de problemas utilizando o Poolmon.

Activar o modo de sinalização

Antes de executar o PoolMon, tem de activar a sinalização de blocos e reiniciar o computador. A funcionalidade de sinalização de blocos recolhe e calcula estatísticas sobre memória de blocos ordenadas pelo valor do sinalizador da atribuição de memória.

Nota: não é necessário activar a sinalização de blocos no Windows Server 2003, uma vez que esta está activada por predefinição.

Para activar a sinalização de blocos num computador baseado no Windows NT 4.0, Windows 2000 ou Windows XP, utilize um dos seguintes métodos:

Método 1: Editar o registo

AVISO: a utilização incorrecta do Editor de registo (Registry Editor) poderá provocar problemas graves que poderão forçar a reinstalação do sistema operativo. A Microsoft não garante que os problemas resultantes da utilização incorrecta do Editor de registo (Registry Editor) possam ser resolvidos. Todo e qualquer risco decorrente da utilização do Editor de registo (Registry Editor) é da responsabilidade do utilizador.

Para alterar o valor de registo que permite o modo de sinalização do Poolmon.exe:
  1. Execute o Editor de registo (Registry Editor).
  2. Localize a seguinte chave no registo:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager
  3. Anote o valor de GlobalFlag ou guarde a chave
    Session Manager
    .
  4. Faça duplo clique no valor GlobalFlag no painel da direita.
  5. Altere o valor para 0x00000400 hexadecimal.

    Nota: quando adiciona o valor de sinalizador global 0x00000400, este só é apresentado como sendo 0x400 depois de ter sido adicionado. É importante adicionar todos os zeros à esquerda ou algumas das informações de Poolmon não serão apresentadas no ecrã de resultados.
  6. Reinicie o computador.
Nota: quando tiver terminado a depuração, altere novamente o valor GlobalFlag para o valor original que lhe foi pedido para anotar no passo 3.

Método 2: Usar o utilitário Gflags.exe

Pode também usar o utilitário do editor de sinalizadores globais (Gflags.exe) para activar a sinalização de blocos. O Gflags.exe está disponível no Windows NT 4.0 Resource Kit e na pasta \Support\Tools dos CD-ROMs do Windows 2000, Windows XP e Windows Server 2003.

Nota: uma vez que a sinalização de blocos está permanentemente activada no Windows Server 2003, a caixa de verificação Enable Pool Tagging da caixa de diálogo Global Flags está desactivada e os comandos para activar ou desactivar a sinalização de blocos falham.

Para efectuar a alteração utilizando Gflags.exe, siga estes passos:
  1. Clique em Iniciar (Start), clique em Executar (Run), escreva gflags.exe e clique em OK.
  2. Seleccione Enable Pool Tagging.
  3. Clique em Apply e clique em OK.
  4. Reinicie o computador.
Nota: quando tiver concluído a depuração, repita os passos acima para desactivar a sinalização de blocos.

Utilizar o Poolmon para recolher informações

O PoolMon apresenta informações sobre os sinalizadores de blocos numa janela de comandos. Utilize as teclas de seta ou as teclas PAGE UP e PAGE DOWN para visualizar todas as informações sobre sinalizadores devolvidas pela ferramenta.

O Poolmon.exe está disponível no Windows NT 4.0 Resource Kit e na pasta \Support\Tools dos CD-ROMs do Windows 2000, Windows XP e Windows Server 2003.

Utilize os seguintes passos para copiar e armazenar as informações sobre sinalizadores. Repita estes passos durante duas horas com intervalos de 15 minutos. Acrescente cada actualização ao fim do ficheiro do Bloco de notas (Notepad).
  1. Clique em Iniciar (Start), aponte para Definições (Settings), clique em Painel de controlo (Control Panel) e faça duplo clique em Consola (Console).

    Nota: no Windows 2000 terá de executar os seguintes passos:
    1. Clique em Iniciar (Start), clique em Executar (Run), escreva cmd e clique em OK.
    2. Clique com o botão direito do rato na barra de título e clique em Propriedades (Properties).
  2. Clique no separador Opções (Options), clique em Modo de edição rápida (QuickEdit Mode) e clique em Modo de inserção (Insert Mode).
  3. Clique no separador Esquema (Layout), altere o valor Tamanho da memória intermédia do ecrã (Screen Buffer Size) para 99 e clique em OK.
  4. Clique em Iniciar (Start), aponte para Programas (Programs) e clique em Linha de comandos (Command Prompt).
  5. Localize Poolmon.exe na pasta Support\Debug\plataforma do CD do Windows NT 4.0. Mude para a unidade e pasta onde o Poolmon.exe está localizado. No CD do Windows 2000, o Poolmon.exe encontra-se no ficheiro Support.CAB. Support.CAB está localizado na pasta \Support\Tools.
  6. Escreva Poolmon.exe.
  7. Prima P até o Poolmon apresentar a segunda coluna "tipo" e mostrar o valor paged.
  8. Prima B para ordenar as colunas da maior para a mais pequena.
  9. Seleccione todo o conteúdo do ecrã e prima ENTER.
  10. Clique em Iniciar (Start), aponte para Programas (Programs), aponte para Acessórios (Accessories) e clique em Bloco de notas (Notepad).
  11. No menu Editar (Edit), clique em Colar (Paste).
  12. Repita o passo 7 para procurar o valor nonpaged.
  13. Repita os passos 8 a 11 para colar.
O Poolmon.exe tem também algumas teclas de comando que ordenam automaticamente os resultados. Prima a letra abaixo indicada para executar a operação. Cada comando demora alguns segundos a funcionar. Segue-se uma lista de alguns dos comandos:
P - Ordena a lista de sinalizadores por Paged, Non-Paged ou misto. Repare que P percorre cada uma das entradas na lista.
B - Ordena sinalizadores pela utilização máxima de bytes.
M - Ordena sinalizadores por atribuição máxima de bytes.
T - Ordena os sinalizadores alfabeticamente pelo nome dos mesmos.
E - Apresenta o total de Paged e Non-paged na parte inferior. Percorre a lista.
A - Ordena os sinalizadores por tamanho de atribuição.
F - Ordena sinalizadores por "frees".
S - Ordena sinalizadores pelas diferenças de atribuições (allocs) e libertações (frees).
E - Apresenta o total de Paged e Non-paged na parte inferior. Percorre a lista.
Q - Sair.
Para obter informações adicionais, clique no número de artigo existente abaixo para visualizar o artigo na base de dados de conhecimento da Microsoft (KB, Microsoft Knowledge Base):
298102 How to Find Pool Tags That Are Used By Third-Party Drivers

Propriedades

Artigo: 177415 - Última revisão: 14 de maio de 2011 - Revisão: 6.0
A informação contida neste artigo aplica-se a:
Palavras-chave: 
kbhowto KB177415

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com