How can I create a memory dump of a production system without affecting performance?

4

1

I am trying to analyze a hard-to-track memory leak problem on a production IIS web server running an ASP.NET application. To that end I am trying to create a dump file of the memory to analyze it offline.

It is critical that the production server and the website application it runs stay available during the process of creating the dump. My first attempt of creating the dump made the system and the website it runs unresponsive for more than a minute (probably because I/O was maxed out), so I had to cancel it.

Is there a way to create a memory dump of a Windows Server 2008 R2 instance without straining the system itself too much, leaving it operational?

In case its relevant, the size of used memory I need to dump is around 5 GB. The system has 12 GB RAM installed at the moment and more than enough free disk space.

magnattic

Posted 2014-11-28T12:37:37.407

Reputation: 1 176

Answers

2

Starting with Windows 7 /Server 2008 R2 there is a way to create a clone of a process and create a dump of this clone so that the process you care about doesn't need to be suspended. Use procdump -r to use this feature when capturing a dump.

You can also use capture a ETW trace and analyze the data with PerfView.

magicandre1981

Posted 2014-11-28T12:37:37.407

Reputation: 86 560