Probably a pretty basic question here, but not sure what to make of it. I have a RHEL 7 VM with 6 single core CPUs. When I look at the CPU utilization with an OS tool like top, I see the following info:
top - 13:04:57 up 42 days, 3:01, 4 users, load average: 5.66, 6.69, 7.42
Tasks: 873 total, 4 running, 869 sleeping, 0 stopped, 0 zombie
%Cpu(s): 57.2 us, 14.9 sy, 0.0 ni, 25.4 id, 1.7 wa, 0.0 hi, 0.8 si, 0.0 st
KiB Mem : 32832740 total, 281460 free, 28380244 used, 4171036 buff/cache
KiB Swap: 16777212 total, 16769104 free, 8108 used. 2776756 avail Mem
So if I am reading this correctly, the RHEL OS thinks it is using ~57% of its available CPU. But, if I go into vCenter's performance tab for the VM, CPU utilization is much higher...generally bouncing between 90% and 100%.
Does anyone have insight into what is going on with this difference in numbers, and is vCenter more accurate in the CPU usage?
Thanks!
Any thoughts about this one? Or should I just go with what vCenter says, consider this a CPU-constrained system that needs more CPU?
Hi,
What VMware tools do these guest VMs have? I think that could be your issue.. I mostly manage Windows VMs but I think my linux engineers use 3rd party tools on RHEL7.
The metric you use depends on why you need the data. There is a good write up about this over here: http://www.logicmonitor.com/blog/2013/02/25/a-tale-of-two-metrics-windows-cpu-or-vcenter-vm-cpu/
In summary:
Windows doesn't know that part of the time, the CPUs are being stolen away from it and given to other guest machines. As far as it knows, it is using all the CPU it can on 3 of the 4 CPUs- so that must equal 75% load. It doesn't know that part of the time, it has no access to the CPU's as they are being used elsewhere, so the real time CPU usage is only about 50%.
I hope this helps to answer your question.