When vSphere was first released one of the elements observed by many was the differences in CPU core support between the various license editions. As you can see on this page most editions only support 6 cores per CPUs with the exception of Advanced and Enterprise Plus which support 12 cores. This lead to the conclusion that installing the Standard license level for example on a host with over 6 cores per CPU would result in only 6 cores per CPU being utilized by vSphere and the remainder ignored.
That notion was bolstered by the vSphere EULA which states the following:
“Processor Cores Limitation. Your use of the Software is limited to Processors with up to six (6) cores per Processor, except for VMware vSphere Advanced edition and VMware vSphere Enterprise Plus edition which are limited to Processors with up to twelve (12) cores per Processor.”
VMware updated the core core licensing limitations in this EULA update. Essentially the document states the following:
1) There are two different entitlements on core licensing. Most editions have a 6 core per CPU license limit with the exception of vSphere Advanced and Enterprise Plus which have a license limit of 12 cores per CPU.
2) You can combine CPU licensing to overcome the 6 core license limit. Let’s say you want to deploy vSphere Standard licensing. If your hosts have 6 cores per CPU then you only need to allocate one Standard license per physical CPU. If your CPUs have between 7 and 12 cores per physical CPU, then you need to allocate two licenses per physical CPU.
Basically vSphere does not have a hard coded CPU core limit but rather it is a licensing limit. As you can see if the following demo, any edition of vSphere can be used on a host with more than 6 cores per CPU and all cores are utilized by vSphere.
In this test I decided to test both the vSphere Hypervisor (i.e. the free edition) and vSphere Enterprise. The multi-core EULA update does not mention the ESXi Hypervisor specifically, but in my example the Hypervisor license is licensed for an unlimited CPU count and all CPU cores are utilized. The test ESXi host that I used was a virtual machine setup with a single CPU with 8 cores. I created 2 Windows virtual machines each with four vCPUs. To generate CPU load I used a utility called MaxCPU. The following image shows the processor information for the virtual ESXi host:
The following image shows the CPU core results running the vSphere Hypervisor. One VM was started and MaxCPU was run to max all 4 vCPUs. The graph shows 4 of the CPU cores in the host maxing out, while the remaining 4 are nearly idle. The second VM was then started and MaxCPU was also run. At that point the performance graph shows all 8 CPU cores being utilized by the host.
I repeated the process with the host licensed with vSphere Enterprise. There was no change in the results. When both VMs were running MaxCPU, all eight CPU cores in the host were utilized. The following image shows the licensing setup for the host. I applied an 8 CPU license to the host and it consumed 2 CPU licenses. Essentially the host knew it required one license for the first 6 CPU cores and then an additional license for the last 2 CPU cores. I was not able to test a single CPU license for vSphere Enterprise but I would suspect that in this case it would have generated an error about insufficient licensing.