vCPUs are always in one of four states (vCPU States):
WAIT – This can occur when the virtual machine’s guest OS is idle (Waiting for Work), or the virtual machine could be waiting on vSphere tasks. Some examples of vSphere tasks that a vCPU may be waiting on are either waiting for I/O to complete or waiting for ESX level swapping to complete. These non-idle vSphere system waits are called VMWAIT.
Ready (RDY) – A CPU is in the Ready state when the virtual machine is ready to run but unable to run because the vSphere scheduler is unable to find physical host CPU resources to run the virtual machine on. One potential reason for elevated Ready time is that the virtual machine is constrained by a user-set CPU limit or resource pool limit, reported as max limited (MLMTD).
vCenter reports some metrics such as “Ready Time” in milliseconds (ms). Use the formula below to convert the milliseconds (ms) value to a percentage.
For multi vCPU virtual machines you need to multiply the Sample Period by the number of vCPUs in the virtual machine to determine the total time of the sample period.
CoStop (CSTP) – Time the vCPUs of a multi-way virtual machine spent waiting to be co-started. This gives an indication of the co-scheduling overhead incurred by the virtual machine.
It is also beneficial to monitor Co-Stop time on multi vCPU virtual machines. Like Ready time, Co-Stop time greater than 10% could indicate a performance problem. You can examine Ready time and Co-Stop metrics per vCPU as well as per VM. Per vCPU is the most accurate way to examine statistics like these.
RUN – Time the virtual machine was running on a physical processor.