Mar 20, 2012

ESXi Server with 12 physical cores maxed out with only 8 cores assigned in virtual machines


I have an ESXi 5 server running on a 2-processor, 12-core system with hyperthreading enabled. So: 12 physical cores, 24 logical ones. On this server are 4 Windows 7 VMs, each configured for 2 processors, each running VMware Tools.

Looking at my stats in vSphere, my “core utilization” is constantly maxed out. Yes, these machines are working hard, but only 8 cores have been allocated. How is this possible? Should I look into reducing the processor count per machine as in this post: VMware ESX server?

I checked to ensure that hardware virtualization is enabled in the BIOS of the machine (a DELL R410). I’ve also started reading up on configuration, but being a newbie there’s a lot of material to catch up on. It also seems I should only bother with advanced settings and pools if I’m really pushing the load, and I don’t think that I should be pushing it with so few VMs.

I suspect that I have some basic, incorrect configuration setting, but it’s also possible that I have some giant misconceptions about virtualization. Any pointers?

Given the responses I’ve gotten so far, it seems that this is a measurement problem and not a configuration problem, making this less critical. Perhaps the real question is: How does the core utilization of the server reach a higher percentage than all individual cores’ core utilization, and given that this possibility makes the metric useless for overall server load, what is the best global metric for measuring CPU load on hyper-threaded systems?

Asked by Sam


Overall host core utilization metric will often hit 100% on lightly loaded hosts. I don’t have any document that would confirm it, but my hunch is that this metric is based on whether or not any core on the host is used at any given moment.

Instead, select all numbered objects in the Customize Performance Chart dialog box. Those are individual cores, and the results will reflect their actual load.

Better yet, ignore this metric altogether if you want to see overall host load. The Usage value, which is the default in the performance graph for CPU, will tell you exactly what you’re looking for.

Answered by Max Alginin

Related posts:

  1. Can I utilize the full performance of a hypervisor’s physical CPU cores when running a high CPU usage appliciation inside a VM?
  2. Can a Single Virtual Core on a ESXi VM use more then 1 physical core?
  3. Can I create a virtual internal network for my virtual machines in ESXi without using a physical nic?
  4. Can a VM perform better when only two cores instead of four cores are presented to it?
  5. For sharing storage between virtual machines using ESXi should I use shared virtual drives or a shared physical hard drive?

Leave a comment