Compartilhar via


Use perfmon para determinar se existe uma perda de memória

Se o desempenho do Windows estiver diminuindo com o passar do tempo e você suspeitar que uma perda de memória possa estar envolvida, use o Monitor de Desempenho do Windows para investigar se há uma perda de memória. Esse processo não informará qual é a origem da perda, nem se é o modo de usuário ou o modo kernel.

Comece iniciando o Monitor de Desempenho. Para abrir o Monitor de Desempenho, use um dos seguintes procedimentos:

  • Abra o Menu Iniciar, procure Monitor de Desempenho e clique no resultado
  • Use o Windows Key + Ratalho de teclado para abrir o comando Executar, digite perfmon e clique em OK para abrir.

Adicionar contadores

Depois de abrir o Monitor de Desempenho, adicione os contadores a seguir ao gráfico do Monitor de Desempenho principal. Clique com o botão direito do mouse no Monitor de Desempenho em Ferramentas de Monitoramento e selecione Propriedades.

  • Memória-->Bytes de Pool Não Pagináveis

  • Memória-->Bytes de Pool Pagináveis

  • Arquivo de Paginação-->% de Uso

Defina a duração para captura de atividade suficiente

Para capturar um gráfico da perda com o passar do tempo, defina o tempo de Amostra a cada como 600 segundos para medir o valor a cada dez minutos. Defina Duração para captura de atividade suficiente. Por exemplo, para defini-lo como 24 horas, o valor seria: 60*60*24 = 86,400 Também convém registrar os dados em um arquivo para exame posterior.

Iniciar o aplicativo e monitorar

Inicie o aplicativo ou teste que você acredita estar causando a perda. Deixe o aplicativo ou o teste ser executado sem interrupções por algum tempo; não use o computador de destino durante esse período. As perdas costumam ser lentas e podem demorar horas para serem detectadas. Aguarde algumas horas para decidir se uma perda ocorreu.

Monitore os contadores do Monitor de Desempenho. Depois que o teste tiver iniciado, os valores de contador serão alterados rapidamente, e pode demorar um pouco para que os valores dos pools de memória alcancem um estado estável.

As perdas de memória no modo de usuário estão sempre localizadas no pool paginável e fazem com que o contador Bytes de Pool Pagináveis e o contador Uso do arquivo de paginação aumentem constantemente com o passar do tempo. As perdas de memória em modo kernel normalmente excluem o pool não paginado, fazendo com que o contador Bytes de Pool Não Pagináveis aumente, embora a memória paginável também possa ser afetada. Às vezes, esses contadores podem mostrar falsos positivos porque um aplicativo está armazenando dados em cache.