Pages

Wednesday, April 20, 2016

VM samples and VMX core dump on a running VM

A virtual machine is composed of several processes or userworlds that run in the VMkernel. Combined, the processes collectively make up a group. The following is a summary of components of a virtual machine:
  • Virtual Machine Executable (VMX) process - A process that runs in the VMkernel that is responsible for handling I/O to devices that are not critical to performance. The VMX is also responsible for communicating with user interfaces, snapshot managers, and remote console.
  • Virtual Machine Monitor (VMM) process - A process that runs in the VMkernel that is responsible for virtualizing the guest OS instructions, and manages memory. The VMM passes storage and network I/O requests to the VMkernel, and passes all other requests to the VMX process. There is a VMM for each virtual CPU assigned to a virtual machine.
  • Mouse Keyboard Screen (MKS) process - A process that is responsible for rendering the guest video and handling guest operating system user input.
*************************************

To set vmsamples up on a running VM, use "vmdumper -l" to list world IDs of running VMs and then "vmdumper <worldid> samples_on" to turn it on for that VM. This will last until the VM is power cycled/powered off or until a samples_off command is run.


Turn VM sample on

#vmdumper <worldid>samples_on

VMM core dump ...
vmdumper <worldid> unsync
vmdumper <worldid> sync

VMX core dump ...
vmdumper <worldid> vmx
vmdumper <worldid> vmx_force

VMkernel core dump ...
You can collect the live dump without crashing the box using -
   localcli --plugin-dir /usr/lib/vmware/esxcli/int/ debug livedump perform

Turn VM sample off
#vmdumper <worldid>samples_off

Refer https://wiki.eng.vmware.com/DebuggingEsx#Creating_a_Live_Crash_Dump_for_ESXi

***************************************
Additional info:
Interpreting virtual machine monitor and executable failures (1019471)

Tags:
esxi, vmkernel, debug, coredump

No comments:

Post a Comment