Criando uma captura de Dump de Memória (Via Terminal)
Visão Geral
Esta documentação visa ensinar a realizar a captura de dumps de memória, via terminal, utilizando o software “.Net Memory Profiler”, que é indicado para aplicações .net.
Esta captura é recomendada em casos de suspeita de vazamento de memória.
Instalação do aplicativo
Para realização da coleta do dump, será necessário utilizar o software “.Net Memory Profiler”.
Download: http://memprofiler.com/download.aspx.
Observação: A instalação do software é básica, basta ir passando as etapas de instalação. Não há nenhuma configuração neste momento.
Instruções da captura do Dump
1° – Abra um prompt de comando como administrador:
2° – No prompt acesse o diretório do .Net Memory profiler, por default o mesmo estará em “C:\Program Files\SciTech\NetMemProfiler5”.
Comando do prompt: cd C:\Program Files\SciTech\NetMemProfiler5
3° – Abra o gerenciador de tarefas e identifique o PID do processo que está com suspeita de vazamento de memória, neste exemplo, utilizaremos o processo IPExternalService.
Observação: Utilizaremos o PID, pois os processos do Tactium possuem todos os mesmo nome W3WP.exe. O PID é um valor único.
4° – Após a identificação do PID do processo da aplicação, iremos utilizar o comando de chamada do software para captura do(s) dump(s).
No nosso exemplo o comando utilizado será este:
NmpCore /a 10888 /cs1 /sf “C:/DumpExternal”
NmpCore: Chamada do comando.
/a: Nome do processo ou PID do processo.
/cs1: Número de dumps a ser realizado, no nosso caso 1.
/sf: Diretório onde o dump será realizado /nome do arquivo.
Observação: Caso deseje realizar mais de um dump, deverá ser adicionada a tag /ac informando o intervalo de tempo entre os dumps.
Por exemplo, desejamos realizar 3 dumps com intervalo de 5 minutos entre os mesmo:
NmpCore /a 10888 /cs1 /ac5 /sf “C:/DumpExternal”
5° – Após a execução do comando o arquivo de dump será gerado no diretório indicado no mesmo:
Documentação do software .Net Memory Profiler:
https://memprofiler.com/online-docs/nmpcore/thenmpcoretool.html
https://memprofiler.com/online-docs/nmpcore/startingnmpcore.html
https://memprofiler.com/online-docs/nmpcore/commandlineexamples.html