Qual é a melhor ferramenta para controlar o uso de memória de um processo durante um longo período de tempo no Windows?

StackOverflow https://stackoverflow.com/questions/97590

  •  01-07-2019
  •  | 
  •  

Pergunta

O que é a melhor ferramenta disponível para monitorar o uso de memória do meu. Serviço C # / janelas líquidas durante um longo período de tempo. Tanto quanto eu sei, ferramentas como perfmon pode monitorar o uso de memória durante um curto período de tempo, mas não graficamente por um longo período de tempo. Eu preciso de dados de tendências ao longo de dias, não segundos.

Para ser claro, eu quero monitorar o uso de memória em um nível fino de detalhe durante um longo tempo, e ter o show gráfico tanto todo o período de tempo eo nível de detalhe. Eu preciso de um pequeno intervalo de amostragem, e um gráfico grande.

Foi útil?

Solução

Perfmon na minha opinião é uma das melhores ferramentas para fazer isso, mas certifique-se de configurar corretamente a amostragem intervalo de acordo com o tempo que você deseja monitorar.

Por exemplo, se você deseja monitorar um processo:

  • durante 1 hora: eu utilizar intervalos de 1 segundo (isto irá gerar 60 * 60 amostras)
  • durante 1 dia: eu utilizar intervalos de 30 segundos (o que vai gerar 2 * 60 * 24 amostras)
  • por 1 semana: Gostaria de usar intervalos de 1 minuto (isto irá gerar 60 * 24 * 7 amostras)

Com estes intervalos de amostragem Perfmon deve ter nenhum problema gerando uma saída gráfica agradável de seus contadores.

Outras dicas

Bem, eu utilizado perfmon, exportados os resultados para um arquivo CSV e usado excel para as estatísticas depois. Isso funcionou muito bem da última vez que eu precisava para monitorar um processo

Brincando com o Gerenciamento do computador (supondo que você está executando o Windows aqui) e parece que você pode fazê-lo monitorar um processo ao longo do tempo. Ir para o gerenciamento do computador -> logs de desempenho e alertas e olhar para os logs contador / rastreamento. clique direito sobre registos de contador e adicionar um novo registro. Agora clique objeto em Adicionar e selecione memória. Agora, clique em Adicionar contadores e alterar o "Objeto de desempenho" para Processo e selecione o seu processo.

Como bom como monitorar a memória é, por si só, você provavelmente está pensando em memória de perfis para identificar vazamentos ou objetos obsoletos - http :. //memprofiler.com/ é uma boa escolha aqui, mas há uma abundância de outros

Se você quer fazer algo muito específico, não tenha medo de escrever sua própria logger baseado em WMI funcionando em um temporizador - você poderia chegar a este e-mail que você processar estatísticas, avisar quando ela cresce muito rápido ou muito alta, enviá-lo como XML para gráficos, etc.

Se você estiver familiarizado com o Python, é muito fácil escrever um script para isso.

Activestate Python (que é gratuito) expõe as partes relevantes do Win32 API através do win32process módulo.

Você também pode verificar todos win32 módulos relacionados ou uso gotAPI para navegar as bibliotecas padrão do Python.

Eu usei ProcessMonitor se você precisa de algo mais poderoso do que perfmon.

scroll top