Author: James Kahn, Systems Engineer, Vizioncore
Hi, I’m James Kahn, Systems Engineer for Vizioncore out of Australia.
Today I want to share how to identify and resolve CPU contention (also known as % ready) issues with vFoglight. CPU % ready issues can impact environments of any size, and can be present even if overall CPU utilization is low. I’ve seen major CPU % ready issues in customer environments where the aggregate CPU utilization is below 25%.
What is CPU % Ready?
CPU % Ready is the amount of time a virtual machine spends waiting in line for the processor when it has work to do. For example, 10% CPU Ready Time means that a virtual machine spends 10% of its time waiting for processor cycles – and it’s not getting access to them quickly enough. CPU % ready is a real issue that can impact on the performance of your virtual machines and the applications running within them. As a general rule, CPU % ready above 5% is a bad situation for production virtual machine to be in.
Okay, so how do I diagnose them?
In your vFoglight installation, you may see an alarm against the cluster like the following:
The alarm above indicates that some virtual machines in the cluster “Lab Cluster” are waiting on CPU cycles – which we known as a CPU % Ready issue.
To investigate, we open vmExplorer view in vFoglight and navigate to the cluster “Lab Cluster”. Navigate to the “VMs” tab, and you will see a screen similar to this:
I can see from the above that my vFoglight virtual machine is being impacted by the CPU % ready issue, from the orange bar in the graph and the 7.4% Ready indicated in the table below. As mentioned earlier, anything above 5% is considered sub-optimal.
Can vFoglight identify the VM with the issue directly with an alarm?
Yes, you can alarm on CPU % Ready for individual virtual machines be enabling the alarm VMW Virtual Machine Percent Ready. It’s not enabled to default to ensure that CPU % Ready issues don’t impact on any SLAs configured.
How do I resolve it?
The goal of resolving CPU % Ready is to grant the suffering virtual machines access to the processor when they need it. Exactly how to do this depends on the cause of the CPU % Ready issue.Some potential resolutions include:
If you have any questions or comments, post them below.