Interpreting VMware CPU performance metrics - RUN, WAIT, RDY, CSTP
Quick Reference guide from VMware
Run, %RUN:
- This value represents the percentage of absolute time the virtual machine was running on the system.
- If the virtual machine is unresponsive,
%RUN
may indicate that the guest operating system is busy conducting an operation. - When
%RUN
is near zero and the virtual machine is unresponsive, it could mean that the virtual machine is idle, blocked on an operation, or is not scheduled due to resource contention. Look at other values (%WAIT
,%RDY
, and%CSTP
) to identify resource contention. - When
%RUN
is near the value of the number ofvCPUS x 100%
, it means that all vCPUs in the virtual machine are busy. This is an indicator that the guest operating system may be stuck in a operational loop. To investigate this issue further, you may need to engage the appropriate operating system vendor for assistance in identifying why the guest operating system is using all of the CPU resources. - If you have engaged the guest operating system vendor, and they have determined that the issue is caused by the VMware tools or the virtual machine hardware, it may be pertinent to suspend the virtual machine to collect additional diagnostic information.
Wait, %WAIT:
- This value represents the percentage of time the virtual machine was waiting for some VMkernel activity to complete (such as I/O) before it can continue.
- If the virtual machine is unresponsive and the
%WAIT
value is proportionally higher than%RUN
,%RDY
, and%CSTP
, then it could indicate that the world is waiting for a VMkernel operation to complete. - You may observe that the
%SYS
is proportionally higher than%RUN
.%SYS
represents the percentage of time spent by system services on behalf of the virtual machine. - A high
%WAIT
value can be a result of a poorly performing storage device where the virtual machine is residing. If you are experiencing storage latency and timeouts, it may trigger these types of symptoms across multiple virtual machines residing in the same LUN, volume, or array depending on the scale of the storage performance issue. - A high
%WAIT
value can also be triggered by latency to any device in the virtual machine configuration. This can include but is not limited to serial pass-through devices, parallel pass-through parallel , and USB devices. If the device suddenly stops functioning or responding, it could result in these symptoms. A common cause for a high%WAIT
value is ISO files that have been left mounted in the virtual machine accidentally that have been deleted or moved to an alternate location. For more information, see Deleting a datastore from the Datastore inventory results in the error: device or resource busy (1015791). - If there does not appear to be any backing storage or networking infrastructure issue, it may be pertinent to crash the virtual machine to collect additional diagnostic information.
Ready, %RDY:
- This value represents the percentage of time that the virtual machine is ready to execute commands, but has not yet been scheduled for CPU time due to contention with other virtual machines.
- Compare against the
Max-Limited, %MLMTD
value. This represents the amount of time that the virtual machine was ready to execute, but has not been scheduled for CPU time because the VMkernel deliberately constrained it. For more information, see the Managing Resource Pools section of the vSphere Monitoring and Performance Guide or Resource Management Guide. - If the virtual machine is unresponsive or very slow and
%MLMTD
is low it may indicate that the ESX host has limited CPU time to schedule for this virtual machine.
Co-stop, %CSTP:
- This value represents the percentage of time that the virtual machine is ready to execute commands but that it is waiting for the availability of multiple CPUs as the virtual machine is configured to use multiple vCPUs.
- If the virtual machine is unresponsive and
%CSTP
is proportionally high compared to%RUN
, it may indicate that the ESX host has limited CPU resources simultaneously co-schedule all vCPUs in this virtual machine. - Review the usage of virtual machines running with multiple vCPUs on this host. For example, a virtual machine with four vCPUs may need to schedule 4 pCPUs to do an operation. If there are multiple virtual machines configured in this way, it may lead to CPU contention and resource starvation.
The complete article is available here.
This is best article i ever see.
ReplyDeleteafter reading this article now i am able to resolve VM performance issue also now i understand every performance counter.
Superb Explanation..👌
ReplyDelete