Como posso criar um despejo de memória de um sistema de produção sem afetar o desempenho?

3

Estou tentando analisar um problema de vazamento de memória difícil de rastrear em um servidor da Web IIS de produção executando um aplicativo ASP.NET. Para esse fim, estou tentando criar um arquivo de despejo da memória para analisá-lo offline.

É fundamental que o servidor de produção e o aplicativo de site que ele executa permaneçam disponíveis durante o processo de criação do dump. Minha primeira tentativa de criar o dump fez com que o sistema e o site ficassem sem resposta por mais de um minuto (provavelmente porque a E / S estava maximizada), então tive que cancelá-lo.

Existe uma maneira de criar um despejo de memória de uma instância do Windows Server 2008 R2 sem sobrecarregar muito o sistema, deixando-o operacional?

Caso seja relevante, o tamanho da memória usada que preciso descarregar é de cerca de 5 GB. O sistema tem 12 GB de RAM instalada no momento e mais espaço livre em disco suficiente.

    
por magnattic 28.11.2014 / 13:37

1 resposta

1

A partir do Windows 7 / Server 2008 R2, existe uma maneira de criar um clone de um processo e criar um dump desse clone para que o processo de que você gosta não precise ser suspenso. Use procdump -r para usar este recurso ao capturar um dump.

Você também pode capturar um rastreio do ETW e analisar os dados com o PerfView .

    
por 28.11.2014 / 17:58