VMware Cloud Community
Andrew120111014
Contributor
Contributor
Jump to solution

Multi-Core CPU usage in ESXi

We have a Dell R710 server running ESXi.  The server has dual quad core xeon 5620 processors which are rated at 2.4Ghz.  In the vsphere client summary for the server the CPU is reported as 8 CPUs x 2.393 Ghz.  Is this accurate?  This would lead me to believe that I have roughly 19Ghz of cpu resources.  However, I was under the impression that while a quad core processor indeed has 4 separate cores, they only work at a combined 2.4 Ghz max (using this processor as an example).  Could someone please shed some light on this subject?  I would appreciate it greatly.

Tags (3)
Reply
0 Kudos
1 Solution

Accepted Solutions
rickardnobel
Champion
Champion
Jump to solution

Andrew Stacey wrote:

I was under the impression that while a quad core processor indeed has 4 separate cores, they only work at a combined 2.4 Ghz max (using this processor as an example).

No, a quad core processor at 2.4 Ghz has four "cores" each capable of executing code in 2.4 Ghz each.

My VMware blog: www.rickardnobel.se

View solution in original post

Reply
0 Kudos
11 Replies
Samcer
Expert
Expert
Jump to solution

The Summary tab shows you the global number of logical processors. VMware sometime call them H.E.C. (Hardware Execution Contest).

In your scenario you can create a VM with 1 vCPU 4 core or 2 vCPUs 4 core each as the physical environment.

By using cores VMkernel execute the VM inside one socket (which is also the default way).

Cores also are useful for Guest OS license, if you have a per processor license at guest level.

HTH

Sam

samcer| http://about.me/samcer | http://www.vm-support.it/ | @samuelecerutti
Reply
0 Kudos
Andrew120111014
Contributor
Contributor
Jump to solution

Ok, but how does that relate to the Ghz rate I have available to both the guest and the entire server?  In my scenario, with 19 Ghz available (8 x 2.4 Ghz), can I create 19 guests each with 1Ghz reserved and be at 100% CPU utilization?  Or is that not how it works?

Reply
0 Kudos
Samcer
Expert
Expert
Jump to solution

reservation = guarantee a number of Mhz of physical CPU power to your VM. You cannot reserve more Mhz than the total Mhz of the assigned CPUs.

If you set 1 Ghz per VM you are not using it, when the VM hits CPU, VMkernel schedules your VM according to the resource you set.

If the sum of your reservations is equal to the physical resources you cannot reserve anymore that resource (assuming VMs are running)

A powerd off VM is not counted

you can find more info about resource management here: http://pubs.vmware.com/vsphere-50/topic/com.vmware.vsphere.resmgmt.doc_50/GUID-98BD5A8A-260A-494F-BA...

Sam

samcer| http://about.me/samcer | http://www.vm-support.it/ | @samuelecerutti
Reply
0 Kudos
rickardnobel
Champion
Champion
Jump to solution

Andrew Stacey wrote:

I was under the impression that while a quad core processor indeed has 4 separate cores, they only work at a combined 2.4 Ghz max (using this processor as an example).

No, a quad core processor at 2.4 Ghz has four "cores" each capable of executing code in 2.4 Ghz each.

My VMware blog: www.rickardnobel.se
Reply
0 Kudos
Andrew120111014
Contributor
Contributor
Jump to solution

Thanks rickardnobel, that is exactly what I was looking for. 

Reply
0 Kudos
Davek0974
Contributor
Contributor
Jump to solution

What about multi threading?

I have the exact same dell box, it reports 16 vcpu (I think or was it vcores)

Does that mean I can have 8 or 16 powered on vm's with one vcpu each?

Its a very nice machine Smiley Happy

Reply
0 Kudos
Andrew120111014
Contributor
Contributor
Jump to solution

That's a good question.  Mine is the same, I was just focusing on the physical core.  My workstation has two Xeon 5620's and Windows 7 reports 16 processors on it too.  I would assume though that if you had two processors identical in every way except one and 8 physical cores with hyperthreading and the other had 16 physical cores, performance would not be equal in the two.

I seem to remember an article talking about this when dual core processors came out, stating that a dual core 2Ghz was better than a single core 3Ghz with hyperthreading.  That was years ago though so it may not apply.  As I understand though, a single core with hyperthreading would share the clock speed with both threads where a dual core would each have their full clock speed available.  That is my understanding at least.  If I am wrong, someone please correct me Smiley Happy

Reply
0 Kudos
rickardnobel
Champion
Champion
Jump to solution

Davek0974 wrote:

I have the exact same dell box, it reports 16 vcpu (I think or was it vcores)

Does that mean I can have 8 or 16 powered on vm's with one vcpu each?

You can have almost any amount of VMs started, your memory will likely run out first. The limit is 25 VMs with 1 vCPU for each physical CPU core. That is, you could (in theory) start 200 VMs on this hardware.

My VMware blog: www.rickardnobel.se
Reply
0 Kudos
Davek0974
Contributor
Contributor
Jump to solution

Great stuff, thanks

Reply
0 Kudos
MartinPasquier
Contributor
Contributor
Jump to solution

Hi,

Just want to speak about Hyperthreading. Why let it enabled when server is running ESX or ESXi ? If you have a single quad core CPU and Hyperthreading enabled if you allow one CPU with one CORE to a vm it will have access to only half a core is that what you really want ? Personnaly I disable HyperThreading in system BIOS and it's working very well.

If you have some news about this practice please correct me (I was doing this on ESX 4.1)

Martin

Reply
0 Kudos
rickardnobel
Champion
Champion
Jump to solution

MartinPasquier wrote:

if you allow one CPU with one CORE to a vm it will have access to only half a core is that what you really want?

It is not really the way Hyperthreading works. The VM with 1 vCPU which gets scheduled on a "hyperthreaded core" does not get a half core. If it is alone on that physical core it gets 100% of the execution.

My VMware blog: www.rickardnobel.se
Reply
0 Kudos