VMware Cloud Community
mreggena1
Contributor
Contributor

High CPU Ready.....why?

I have a VM that consitantly has a high CPU Ready.  It currently has 4 CPUs and 12GB of RAM assigned to it.  Its host ESX is not overburdend at all and it running mulitple other VMs that seem to be running high.

What would be the cause the the high CPU Ready stat?  I know it has to do with the amount of time the VM waits for CPU but doesnt it also factor in other hardware like disk, ram and network?

Reply
0 Kudos
7 Replies
Troy_Clavell
Immortal
Immortal

have you considered lowering the vCPU count to 2 or even one.  This should cause you CPU ready times to decrease.

Reply
0 Kudos
mreggena1
Contributor
Contributor

Yes...according to the Usage % it says CPU Usage is around 24%....so basically using one "full" CPU out of the four.  Am I correct?

I can try dropping it to 2 to see what happens.

Are there any other factors that affect CPU Ready time? 

Reply
0 Kudos
Troy_Clavell
Immortal
Immortal

%rdy is the key. It's basically the amount of time the CPU is ready to run, but waiting on cycles.  Reducing the vCPU in your case would, in my opinion, be very helpful.

See also the document below.

http://communities.vmware.com/docs/DOC-9279

Reply
0 Kudos
a_p_
Leadership
Leadership

I agree with Troy. Lower the vCPU count to "as many as needed" vCPUs.

The Ready value depends on many factors, starting with the physical hardware (what type of CPU's are you using). How many VMs are running and how many vCPUs are configured for these VMs?

You may also take a look at http://www.vmware.com/resources/techresources/10131 for details about CPU scheduling.

André

Reply
0 Kudos
kix1979
Immortal
Immortal

Also remember if you reduce your vCPU count, you may need to change the HAL that is used.  Older OSes can have performance hits still with the incorrect HAL to the number of vCPUs.

Thomas H. Bryant III
Reply
0 Kudos
yike
Contributor
Contributor

>> "as many as needed"

To the OP:  just remember that "as many as needed" isn't an easy thing to know ... software developers have long assumed "more is better" when you are talking about hardware resources.  Developers simply want as much as possible in most cases to make sure things run as quickly as possible.  When virtualizing, this "more is better" premise is a bad thing.

Personally if this is in test or development or you can take the application/VM down to play with it, I would take the vCPU to one and see how it performs.  (considering the above OS issue between changing CPU numbers)  Sooo many of our 4 and 8 CPU VMs have dropped down to a minimum of 1 or 2 CPU and increased performance.

Reply
0 Kudos
lldmka
Enthusiast
Enthusiast

The %CSTP counter in esxtop will show you the amount of time your VM is waiting for co-scheduled pCPUs to be available - and will indicate whether you can expect better performance by dropping back to 1 or 2 vCPUs.  

Reply
0 Kudos