December 21, 2010 Leave a comment
Basically you still select the number of vCPUs, but then you would also set in the advanced setting a new row to define how many of these CPUs are divided into a single virtual Socket. This is an advanced setting in vSphere, you add a row for “cpuid.coresPerSocket” and set the value to 2, 4, or 8. In Vmware workstation it is a little more straight forward, but I guess VMware feels that system admins should be comfortable working with vmx files and configuring advanced settings like this.
If you have 8 vCPUs and you select 2 for the cpuid.coresPerSocket, that would equal 4 sockets with 2 cores each
If you have 8vCPUs and you select 8 for the cpuid.coresPerSocket, that would equal 1 socket with 8 cores
If you have 4vCPUs and you select 4 for the cpuid.coresPerSocket, that would equal 1 socket with 4 cores
Just remember the values need to be 2, 4, 8 in both values and the number of vCPUs needs to be divisible by the number of cores per socket (cpuid.coresPerSocket).
What flexibilities this adds to your Virtual Machine in vSphere is that on standard editions of Windows you can now see up to 8 cores, and most software is per socket not core. So for MS SQL for example you could have running on one socket that has 8 cores and only need one CPU license, otherwise if you don’t do use multicores you would need 8 licenses at around 8k each .
Read this KB for details on how to configure multiple cores and the exact requirements.
The only real down fall is that you need to power off the VM to make this change, other than that it only takes a few second to configure.