This article provides information on powering off virtual machines in an ESXi environment.
Note: If attempting to troubleshoot an unresponsive virtual machine, it is usually preferred to collect performance metrics and then either suspend or crash the virtual machine to collect additional troubleshooting information.
For more information, see:
VMware vSphere ESXi 7.x
VMware vSphere ESXi 8.x
Follow one of the options mentioned below:
Option 1: Powering off the virtual machine using the vSphere Client
Another task is already in progress"
, wait for the task to complete or see vCenter operation times out with the error: Operation failed since another task is in progress.Note: From vSphere 6.5, enable Virtual Machine Encryption to protect virtual machine and its files. If encryption is enabled on the virtual machine, ensure the logged in user has Cryptographic Operations privileges. For more information on the Privileges, see Prerequisites and Required Privileges for Encryption Tasks section in the ESXi and vCenter Server 7.0 Documentation.
Option 2: Powering Off a Virtual Machine using ESXCLI:
.vmx
configuration file:esxcli vm process list
esxcli vm process kill -t soft -w WorldID
esxcli vm process kill -t hard -w WorldID
esxcli vm process kill -t force -w WorldID
Option 3: Using the ESXi command-line utility vim-cmd to power off the virtual machine
On the ESXi console, enter Shell and log in as root. Refer: Using ESXi Shell in ESXi
.vmx
configuration file:vim-cmd vmsvc/getallvms
vim-cmd vmsvc/power.getstate VMID
vim-cmd vmsvc/power.shutdown VMID
vim-cmd vmsvc/power.off VMID
Option 4: Using esxtop to kill a virtual machine
esxtop
utility by running this command:esxtop
c
to switch to the CPU resource utilization screen.Shift+v
to limit the view to virtual machines. This may make it easier to find the Leader World ID in step 7.LWID
).k.
World to kill
prompt, type in the Leader World ID from step 7, and press Enter.
Option 5: Using the kill command to terminate a running virtual machine process. (Warning: This procedure is potentially hazardous to the ESXi host. If improper identification of the appropriate process ID (PID) and the wrong process is killed, it may have unexpected results. )
ps | grep vmx
7662 7662 vmx /bin/vmx
7667 7662 vmx /bin/vmx
7668 7662 mks:VirtualMachineName /bin/vmx
7669 7662 vcpu-0:VirtualMachineName /bin/vmx
vmx
process. Identify the parent vmx
process for the target virtual machine. The first column contains the PID, and the second contains the parent's PID. Ensure only the parent process is terminated. The parent Process ID (PID) for each process is listed in the second column, identified in this example in bold. Take note of this number for use in the following steps.If the vmx process is listed, terminate the process by running this command:
kill ProcessID
Wait 30 seconds and repeat step 2 to check for the process again.
If it is not terminated, run this command:
kill -9 ProcessID
Wait 30 seconds and check for the process again.
Note: If the above procedures do not resolve the issue and the ESXi host is responsive, a reboot of the host is required to power off the Virtual Machine.
VMware Skyline Health Diagnostics for vSphere - FAQ
Powering off an unresponsive virtual machine on an ESXi host
Troubleshooting virtual machine power on task hangs
Failed to power on virtual machine
If a virtual machine cannot be powered off using any of above methods, it usually indicates a problem with the underlying infrastructure, such as the ESXi host or its backing hardware.
If a problem is suspected with the ESXi host that is preventing the shutdown of virtual machines, vMotion all unaffected virtual machines off the host, and force the host to halt with a purple diagnostic screen. For more information, see Using hardware NMI facilities to troubleshoot unresponsive hosts (344096).