VMware Cloud Community
COSINV
Contributor
Contributor
Jump to solution

esxi 4.1 - Win2k8R2 VM spikes at 100% CPU

I have a Dell R410 server with 2 x  E5620 2.5 Ghz processor sockets.  As per the Vsphere client, since each socket has 4 cores and hyper threading is enabled, I have 16 logical processors = about 17k MHZ at my disposal.

My collegeue created a win2k8r2 VM with 1 virtual CPU.  For that particular VM, under the "Summary" tab, the "Resources" box shows that the "consumed Host CPU" varies from 500 - 2,500 MHZ.  To my knowledge all ESXi other CPU parameters (such as Reserved/limit) for that VM have been left at default values.

When I logon into the windows console for that VM, the properties for the computer says Processor: Xeon E5630 2.53 GHz.  I then launch the Task Manager and under the performance tab, it shows me only one box for the CPU Usage History as if it had only 1 CPU and no multi-threading.

Questions:

When the graph shows that the CPU spikes regularly at 100% what does that mean?  As I said above the Host CPU speed varies from 500 - 2,500 MHZ.  Why is is not using the other 15k Mhz?  What is 1 virtual CPU in terms of what I should see for the # of CPU boxes in task manager?

I'm a little lost when it comes to all these variant type of CPU references and how it translates into what I should see in Windows Task manager.

for example, is the above 1 virtual CPU assigned to my VM = 1 physical CPU socket which in my case equals 4 physical cores or 8 "virtual" CPU because of hyper-threading which should equal 8 CPU Usage Boxes in task manager in windows?

Any clarification on the above would be greatly appreciated.

Thanks

0 Kudos
1 Solution

Accepted Solutions
weinstein5
Immortal
Immortal
Jump to solution

Welcome to the Community - now to confuse you more - a virtual cpu (VCPU) is scheduled to a logical cpu (LCPU). A LCPU can beither a physical core or a hyperthread - so the single VCPU will be scheduled on one of the 16 LCPUs your host is presenting. This means that a single VCPU will only have access to a maximum of 2.5 GHz -

If you find this or any other answer useful please consider awarding points by marking the answer correct or helpful

View solution in original post

0 Kudos
2 Replies
weinstein5
Immortal
Immortal
Jump to solution

Welcome to the Community - now to confuse you more - a virtual cpu (VCPU) is scheduled to a logical cpu (LCPU). A LCPU can beither a physical core or a hyperthread - so the single VCPU will be scheduled on one of the 16 LCPUs your host is presenting. This means that a single VCPU will only have access to a maximum of 2.5 GHz -

If you find this or any other answer useful please consider awarding points by marking the answer correct or helpful
0 Kudos
COSINV
Contributor
Contributor
Jump to solution

Thanks for clarifying that.  I've read a few more threads on this and most people seem to associate 1 VCPU to 1 Core.  So even if hyper-threading is enabled which doubles my number of LCPUs, I will not take that into account. So in my particular case, all the VMs combined on that server will never be given more than 8 VCPU.  This should guarantee that I will not suffer from VCPU contention.

Furthermore, people commented that 1 VCPU per VM is sufficient.  Like others observed, I do not agree with that assessment. In my case my consumed  Mhz never went beyond 2,500 when I had 1 VCPU.  Your explanation confirmed that.  After adding more VCPUs to my VM, I saw the consumed Mhz spike to 4,500.  So it does make a difference!

0 Kudos