One of the most overlooked yet critical performance metrics in virtualized environments is CPU Ready. In this blog post, we’ll explore what CPU Ready actually means, how it relates to vCPU and MHz values in ESXi, and how it can silently degrade performance if not managed properly.
CPU Ready is the amount of time a virtual machine (VM) is ready to run on a CPU but is waiting for the physical host to allocate processing resources.
In simple terms: "Your VM is ready to work, but the host is too busy to let it."
The higher the CPU Ready time, the slower the VM will respond—even if it doesn’t look busy from a traditional monitoring perspective.
On VMware ESXi, each vCPU is typically shown with a nominal value of 1000 MHz. However, this is not the actual physical CPU frequency. For example:
Physical CPU: 2.4 – 2.7 GHz
A VM with 6 vCPUs → shows 6000 MHz total
But this is just a scheduler approximation, not guaranteed performance
You can use SSH to log in to your ESXi host and run:
esxcli hardware cpu list
For live performance data:
esxtop
Then press c
to view CPU stats. Focus on the %RD (Ready Time) column:
%RD Value | Interpretation |
---|---|
0–5% | ✅ Ideal |
5–10% | ⚠️ Warning zone |
10%+ | ???? Critical – Expect issues |
Too many vCPUs assigned across VMs
Host is overcommitted or has limited physical cores
Several high-load VMs running simultaneously
Don’t assign more vCPUs than needed
Use CPU Reservations for critical VMs
Enable Latency Sensitivity: High for performance-critical workloads
Distribute VMs across hosts if possible
6 vCPUs, 32 GB RAM (VM on ESXi)
Apache with mpm_event
+ PHP-FPM
With low CPU Ready: 2000–3000 concurrent requests per node
With 3 nodes: 6K–10K requests spread across the cluster
With high CPU Ready: Even 1000 users can cause timeouts
CPU Ready is a hidden performance bottleneck in ESXi environments. While everything may look fine in tools like top
or htop
, if CPU Ready is high, your VMs are silently choking.
If you’re serious about performance, especially for web, database, or clustered services, you must:
Monitor CPU Ready regularly
Keep vCPU assignments realistic
Use resource reservations strategically
???? Written by: Emrah AK
???? https://eak.llc