VMware Cloud Community
DenisSingh
Contributor
Contributor

High CPU Ready Time

Hi,

Can High CPU ready value manifest itself as High CPU usage within a guest VM?

I have a Red Hat 5 VM which had a spike in CPU ready value. During this time, within the Guest OS, CPU usage showed  up as 100% on all CPUs (this system has 4 CvCPU's).

However, in the vSphere Performance Monitor, the CPU usage for this VM was at around 25%.

SO my question is whetehr high CPU ready value can cause the guest OS to think that its CPU is being utilised at 100%?

Thanks

0 Kudos
11 Replies
abhilashhb
VMware Employee
VMware Employee

If CPU ready time showed a spike that means that the CPU waited a long time to get the physical processor to run its thread. I doubt it could turn into high resource usage on the VM. As you said the performance monitor showed 25% its not what you think. maybe the VM's got a slot and used the CPU to the fullest and wanted to run more threads. But the CPU was busy, hence a spike.

Abhilash B
LinkedIn : https://www.linkedin.com/in/abhilashhb/

0 Kudos
admin
Immortal
Immortal

Hi ..i just saw one of one of old post where same issue resolved.. please check i hope it will help you.. https://communities.vmware.com/message/1208110#1208110 Thanks

0 Kudos
tomtom901
Commander
Commander

It is possible, because it couldn't schedule CPU workload, it started to put things into memory and that kind of stuff, therefore, guest activity was higher and this could explain the 100% CPU usage you were seeing. I wouldn't worry about it too much if you've only seen this once, if this starts happening more and more, you might be running into some CPU contention / scheduling issues.

ESXTOP might help you identify problems. You can also view performance charts in vCenter / vSphere.

Hope this helps,

@Fillips CPU ready time is an enviroment specific value. Most just advice to cut down on the number of vCPU's allocated, but I don't think this is what is being asked here.

proden20
Hot Shot
Hot Shot

What is your perception of the VM's performance?  Is it acceptable?

The guest OS seeing 100% utilization can be a good thing.  This means that the OS is getting 100% of what it is asking for at that specific point in time.

A high CPU ready time is an indication of contention for CPU cycles, and serves as a good indicator of CPU bottleneck when troubleshooting performance problems.  If my workloads are running acceptably (e.g. a web server is responding in time or batch jobs are completing within an acceptable time frame,) I don't panic just because I see high CPU ready time in my performance charts.  I also pay no mind to guest OS CPU Utilization metrics. I only look at these things when I'm either troubleshooting or optimizing.  Otherwise you'll drive yourself nuts.

"SO my question is whetehr high CPU ready value can cause the guest OS to think that its CPU is being utilised at 100%?"

- No, they are not related.

0 Kudos
tomtom901
Commander
Commander

I'm thinking otherwise proden, I think the guest OS doing 100% can also be an indication of the Linux OS not being able to perform workload, and therefore creating CPU queues and that kind of stuff. That statement is based on my experience with CPU ready and CentOS (RHEL) based VM's.

But CPU ready time (and it's consequences) is a difficult thing to interprete.

0 Kudos
proden20
Hot Shot
Hot Shot

So the question is...is the Linux OS running the workload?  The poster didn't mention that they were having problems, only that they saw a metric on a graph.

0 Kudos
tomtom901
Commander
Commander

Valid point. I'm curious to see what the answer to that question is.

0 Kudos
abhilashhb
VMware Employee
VMware Employee

And then we come back to my point. As i told the VM ran a workload and the CPU demand was high. So hence the spike in CPU ready value. Which actually makes it look like the CPU went to 100% coz of the spike in ready value.

Abhilash B
LinkedIn : https://www.linkedin.com/in/abhilashhb/

0 Kudos
DenisSingh
Contributor
Contributor

Hi,

The server became unresponsive during this time. What I mean is we were unable to ping the server nor were we able to ssh into it. So the 100% CPU usage (as shown in the guest OS) definitely caused a problem for us. Just got some additional info on this. The ESXi host that this Linux server sits on is part of a two node cluster. The other host in this cluster was having some issues so all the the VM's running on that host were migrated to  the host running this Linux VM. This may have resulted in CPU overcommittment which led to the high CPU ready value.

What I am not sure about is whether this would cause the Guest OS to think that it was utilising 100% of its CPU resources even though within the vSphere performance charts, the CPU utilisation of the VM was at around 25%

0 Kudos
ramkrishna1
Enthusiast
Enthusiast

Hi

Welcome to the communities.

Could you please verify or share your resource configuration .

I suspect some configuration problem like host name or FQDN if AD integrated.

" I take a decision and make it right."
0 Kudos
etieseler
Enthusiast
Enthusiast

I have seen both situations where a VM had a high CPU ready time and showed 100% CPU usage in the guest, and other times with high ready time and low CPU usage in the guest. As TomTom mentioned, "CPU ready time (and it's consequences) is /can be/ a difficult thing to interprete."

I've had guests pegged at 100% while the host is showing 5-10% CPU load.

You are certainly correct that all VM's running on the one host would cause the ready time to sky rocket, especially in a multi vCPU guest.