Thursday, September 20, 2012

vCPU and Entitlement

Below are some basic question about vCPU entitlement comes in our mind and there answers respectively.

I have 2 Physical CPU , each is dual core. 

suppose I'll create 1 virtual machine with 1 vCPU and Entitlement 40% . 

Q1: how many virtual machines i can create with this entitlement.

Q2: This 40% is a percentage of each CPU or each Core?
Q3: what is the maximum Entitlement which i can assign to any virtual machine? Can i assign for example 150% as Entitlement for one virtual machine?
Q4: Numbers of vCPUs must be less than or equal to number of physical CPUs or physical Cores ?




Q1 : Your question should be "how many virtual machines i can RUN..." because you can CREATE as many guest as you want.

Well : on your 4 core physical host, you can theorically run simultaneously 10 virtual machines with 1 vCPU / 40 % entitlement each. Total entitlement = 400 % wich doesn't exceed the whole processing power of the host 

In fact its is not so simple, because you will start no more than 8 virtual machines in the configuration you have described.

Entitlement is a GUARENTEED % of processing power of a core. GUARANTEED means that a guest will not be started if the entitlement can't be honored by the host. If 8 VMs, with 1 vCPU and a 40% entitlement each, are started on your 4 cores host, you will get :

- core1 : vm1 and vm2 with 40% entitlement each --> 80%. So the host can only guarantees 20% for running an other VM on this core
- core2 : vm3 and vm4 with 40% entitlement each --> 80%. So the host can only guarantees 20% for running an other VM on this core
- core3 : vm5 and vm6 with 40% entitlement each --> 80%. So the host can only guarantees 20% for running an other VM on this core
- core4 : vm7 and vm8 with 40% entitlement each --> 80%. So the host can only guarantees 20% for running an other VM on this core

Q2 : ... of each core mapped to each vCPU of the guest

Q3 : 100% is the maximum entitlement. On a 1 vCPU guest it means you can have 100% of one physical core, on a 2 vCPU guest it means you can have 100% of 2 physical cores, and so on ...

Q4 : a vCPU relies on a physical core. Simply forget CPU on the host, and just think in term of core. So number of vCPU in a given guest must be less or equal than physical cores.


As a summary and a guideline, you must think to vCPU in term of a thread running at a time on a given physical core. Several vCPU of a given virtual machine can't run on the same physical core.

No comments:

Post a Comment