VMware Cloud Community
goppi
Enthusiast
Enthusiast

Number of vCPUs

Hi.

We are currently in the process of assigning vCPUs to virtual machines.

The question arises what exactly counts as vCPU.

The host has 2 sockets with 4 cores and as it is an E5620 HT is also supported.

So what is the number of available vCPUs 8 or 16?

vSphere client shows 16 logical processors on the overwiev tab.

Thanks for your help.

Regards,

goppi.

Reply
0 Kudos
10 Replies
JimKnopf99
Commander
Commander

Do you mean the available vCPU´s per Client?

There should be a max of 8 vCPU´s.

Frank

If you find this information useful, please award points for "correct" or "helpful".
Reply
0 Kudos
idle-jam
Immortal
Immortal

should be 8, but then with hyperthread enable, it would be 16 then ..

Reply
0 Kudos
MauroBonder
VMware Employee
VMware Employee

Check http://www.vmware.com/products/vsphere/buy/editions_comparison.html

the maximum is 8-way using license Enterprise Plus, in you case you can allocate 8vcpu to 1 VM if you have license Enterprise Plus.

*Please, don't forget the awarding points for "helpful" and/or "correct" answers. *Por favor, não esqueça de atribuir os pontos se a resposta foi útil ou resolveu o problema.* Thank you/Obrigado
Reply
0 Kudos
a_p_
Leadership
Leadership

As a best practice, assign as many vCPUs as needed, but as less as possible!

Always keep in mind you are running multiple virtual machines on one server. Therefore the Hypervisor has to schedule the CPU. Assigning too many vCPUs to a VM could decrease to overall performance of all VMs.

Regarding Windows VMs: Since Windows uses a different HAL for single and multi processor systems, I usually start with 2 vCPUs and - very rarely - "upgrade" VMs to more vCPUs if really needed.

André

goppi
Enthusiast
Enthusiast

Thanks for all for the answers.

Rereading my post I saw that my question wasn't precise enough to get the answer desired.

I wanted to know the number of vCPUs available on the host alltogehter and not the max for a single VM.

For allover system performance reasons we try to avoid huge overcomitting of vCPUs.

If we have 8 vCPUs we would assign 2 vCPUs to each of 4 VMs

If we have 16 vCPUs we would assign 4 vCPUs to each of 4 VMs

Thanks again for your suggestions.

Cheers

goppi.

Reply
0 Kudos
a_p_
Leadership
Leadership

With 2 quad core CPUs and active HyperThreading you will have 16 vCPUs.

However - in my opinion - you only have 8 real vCPUs since HyperThreading is not a real core but only a way to simultaneously use a processor/core.

Overcommitting CPUs is not a bad thing and basically an advantage of the virtualization. Most virtual machines never use the full performance of a vCPU and therefore you can easily overcommit without issues. Running 20-30 VMs on an 8 core system is nothing unusual.

The only issue is that assigning too many vCPUs to a single VM can slow down the system because of the need to schedule the cores. Also don't forget to take the hypervisor into account, it also needs some CPU cycles.

André

Reply
0 Kudos
ab_lal
Enthusiast
Enthusiast

You can use 4-6 single vCPU guest per Core

i.e between 24-32 guests on a Dual/Quad core (8 vCPU) host and 48-64 guests on a Quad/Quad core (16 vCPU)host.

Reply
0 Kudos
goppi
Enthusiast
Enthusiast

Hi Andre,

thanks again for your answer.

Sure overcommitting CPUs is normally not a problem and can be a good thing.

However if you have 4 VMs on a host each under heavy load IMHO there is no point in overcommitting

as the allover CPU power is limited by the number of physical cores.


Moreover if you have VMs with a huge number of vCPUs assigned the scheduler can only

assign computing cycles if it finds an adequate number of idle physical cores.

So to make the question less abstract, assuming 4 VMs each maxing out CPU power,

would you assign 2 or 4 vCPUs for each on the host in question?

Cheers,

goppi.

Reply
0 Kudos
a_p_
Leadership
Leadership

To answer your question: I would most likely assign 2 vCPUs. However you should (and I'm sure you will) test the setup in your environment with your workload.

There are some interesting blog posts about HyperThreading, like http://vpivot.com/2010/03/06/hyper-threading-on-vsphere/

André

goppi
Enthusiast
Enthusiast

Interresting article.

Thanks for the link.

Edit: on the blog you posted there was an interresting aritcle dealing with

a similar question http://vpivot.com/2010/03/17/vsphere-4-0-hyper-threading-and-terminal-services

Reply
0 Kudos