A company runs several instances of multi-threaded application that requires virtual machines to be configured with multiple vCPUs. Which metric is checked to determine if CPU contention exists on an ESXi 5.x host?
Page 49 on vsphere-esxi-vcenter-server-50-monitoring-performance-guide.pdf
%RUN Percentage of total time scheduled. This time does not account for hyperthreading and system time. On a hyperthreading enabled server, the %RUN can be twice as large as %USED.
%WAIT Percentage of time the resource pool, virtual machine, or world spent in the blocked or busy wait state. This percentage includes the percentage of time the resource pool, virtual machine, or world was idle.
%USED Percentage of physical CPU core cycles used by the resource pool, virtual machine, or world. %USED might depend on the frequency with which the CPU core is running. When running with lower CPU core frequency, %USED can be smaller than %RUN. On CPUs which support turbo mode, CPU frequency can also be higher than the nominal (rated) frequency, and %USED can be larger than %RUN.
%RDY Percentage of time the resource pool, virtual machine, or world was ready to run, but was not provided CPU resources on which to execute.
The percentage of time the world spent in wait state.
This %WAIT is the total wait time. I.e., the world is waiting for some VMKernel resource. This wait time includes I/O wait time, idle time and among other resources. Idle time is presented as %IDLE.
The percentage of time the world was ready to run.
A world in a run queue is waiting for CPU scheduler to let it run on a PCPU. %RDY accounts the percentage of this time. So, it is always smaller than 100%.
+Q: How do I know CPU resource is under contention?+
+A: %RDY is a main indicator. But, it is not sufficient by itself.+