How To Generate A Memory Dump For A VMWare Virtual
Machine When The Machine Becomes Unresponsive?
Description:
This document explains about generating a memory dump for a VMWare Virtual Machine when the
machine becomes unresponsive.
When a VM becomes unresponsive for various reasons, you may not be able to get into any OS related
settings or access any application. Even users may get not be able to access any shares or resources of this
machine.
In this type of situation Memory dump would be required to analyse the cause. Even if the OS is configured
to generate a Memory Dump for System Crashes, it would not be able to generate a Memory Dump for
System Unresponsiveness most of the times.
But with a VMWare VM, you can take a snapshot of the machine when it is unresponsive and then use
vmss2core.exe tool to convert the snapshot to a Memory Dump.
Note:- This document does not provide a solution for system unresponsiveness, this explains about
converting VMWare Snapshot to a Memory Dump.
Solution:
1. When the VM becomes unresponsive and gets into a deadlock situation, go to VMware vCenter or
vSphere Client and take a snapshot.
2. Locate the Snapshot files:-
a) In vCenter, Right Click on VM and go to Properties. Browse the datastore where the VM is located.
b) Locate the folder with the same name as the VM.
c) In this folder locate the snapshot file. There will be a snapshot (.vmsn) and a memory (.vmem) file. e.g.
servername-Snapshot3 with different suffixes (vmsn and vmem). If there are different snapshots, e.g.
servername-Snapshot1, 2, 3, etc then locate the correct files for your recent snapshot or suspension by
examining time/date stamps. (Note:- The .vmem file may not be present in some cases.)
3. Save a copy of all files that are present (.vmsn and .vmem) for the snapshot. In vCenter, right click on the
files, select Download and save them to a folder on the local machine.
4. Download and copy the vmss2core.exe utility to the same location as the snapshot files. Please refer the
following VMWare KB Article, http://kb.vmware.com/kb/2003941 for instructions. Link to download the
vmss2core.exe is also available in the same KB Article.
5. Open Command Prompt and change the directory to the location of the snapshot files. Execute the
following command:
vmss2core.exe -W virtualmachine-snapshot.vmsn virtual_machine_name.vmem
Note: If the OS in VM is Microsoft Windows 8/8.1 or Windows Server 2012, run this command:
vmss2core -W8 virtualmachine-snapshot.vmsn virtual_machine_name.vmem
6. Once the Memory Dump(Memory.dmp) is created, Windbg tool could be used for analysing it.