This article provides steps to send a Non-Maskable Interrupt (NMI) to an unresponsive Virtual Machine Guest Operating System on VMware vSphere ESXi 6.x or later to trigger a kernel crash dump.
Note: Host client does not include the HungVM - Send_NMI_To_Guest option; therefore, an NMI cannot be sent via the standalone Host Client.
Environment
VMware vSphere ESXi 6.x
VMware vSphere ESXi 7.x VMware vSphere ESXi 8.x
Cause
An NMI is manually triggered by an administrator when a Guest OS becomes completely unresponsive or hangs, allowing the operating system kernel to generate a crash dump (e.g., Windows Memory Dump or Linux Core Dump) for root cause analysis.
Resolution
To send NMI to Guest OS on ESXi 6.x or Later, use one of these options:
Log in to ESXi host through SSH or console as root.
Note: The virtual machine must be registered in the inventory.
Run this command to list all registered and running virtual machines:
vm-support --listvms vmdumper -l
Run this command to Send NMI:
vm-support -a HungVM:Send_NMI_To_Guest --vm=/vmfs/volumes/Path/of/VMname.vmx
Note: If the vm is encrypted or Virtualization Based Security (VBS) is enabled then it is necessary to generate a crypto-util key by running the command "crypto-util keys vm-support --password prolog" before running vm-support. After running the vm-support command clean up the keys by running crypto-util keys vm-support epilog.
Using vmdumper command-line:
Log in to ESX/ESXi host through SSH or console as root.
Run this command to get a list of all running virtual machines, identified by their World ID, path to the .vmx configuration file: