The CPU over-commitment ratio also known as the vCPU to pCPU ratio.
In this post I will test this new feature of vSphere 6.5 and how it impacts a vSphere 6.5 datacenter design. I am testing this because some of the information about this setting is kind of vague and I want to be sure that I understand how it works and what its impact is on production environments and how it will affect vSphere designs.
To be able to test the above mentioned features I have setup a small test environment using 2 nested ESXi hosts, a nested VCSA 6.5 server and a handful of VM’s.
- 2 hosts
- HA is disabled
- DRS is enabled ( because this is a DRS feature!)
Both hosts have the following compute resources:
- 4 CPUs
- 16 GB of RAM
The following ESXTOP screenshot clearly shows that a host has 4 CPUs.
I have created a total of 7 VMs with different amounts of assigned RAM and number of CPUs. These VMs wil be my test VMs. DC01 functions as the Directory server and DNS and runs from Server 2012 R2. the VCSA is the newest version of the vCenter appliance version 6.5 and has been added to the DNS but not yet to the domain. The other VMs are just a bunch of VMs build on Server 2012R2 and Windows 7. None of these are member of the domain.
As you can see all VMs are running prior to making any changes to the DRS. The current CPU consolidation ratio is 22 vCPUs/8 pCPUs = 2.75 => 275% over-commitment.
Setting the CPU over-commitment ratio and set the value at 100%
When you change the setting you will see no VMs will shutdown and no warnings will be displayed telling you that there is a problem with this setting at your current consolidation ratios.
Let’s shut down all VM’s but leave VCSA01 and DC01 working and then let’s try to start the smallest VM “Win7-2-wide” and see what happens.
As you can see, we cannot start a new VM because the amount of CPUs running on the cluster is 8 which matches the total number of CPUs in the cluster (we have 2 hosts with each 4 CPUs). The error message says the following: When you try to boot this VM you are exceeding the maximum number of CPUs in this cluster, which is 8!
Keep the following in mind: No warnings are displayed when you set “the CPU over-commitment ratio”, not even when it breaches your current CPU over-commitment ratio! So as a best practice, calculate your current amount of CPU over-commitment ratio before you set this value.
Setting the CPU over-commitment ratio and set the value at 125%
When we increase the “CPU Over-commitment” to 125 % we are able to boot up the “Win7-2-wide” VM because the increase of 25% equals an 2 additional CPUs.
- I did set the “CPU Over-commitment” in one test to 0 % and this prevented me from booting up any VM which I shutdown. 0% means that you literally allocate 0 CPU’s to start up any VM’s. Take note that VM’s which are running when you set that value, will keep running until you shut them down.
- Should you not be able to startup even your virtualized vCenter server anymore do not panic, you can start all servers again from the embedded host client.
- Keep in mind that this is a DRS setting and not a HA setting!