I found a great article below on adding cores to processors after reading through Vmware’s KB article. The only think I’d like to add, is the way the OS sees the changes of cpuid.coresPerSocket. You aren’t actually getting around the 4 core limit of non-enterprise vsphere licenses. If you were to create a Virtual Machine (VM) with 4 vcpus, and then set a cpuid.coresPerSocket of 2, you would get 2 processors with dual cores instead of 4 processors with dual cores. So the limit of 4 cores on standard licenses and 8 cores on enterprise is still fully in effect. This does however help if you are running enterprise license and want to run 8 vcpus on a OS like Windows Server 2003R2 that only supports 4 processors. So for example, in Server 2003R2 you could then run 8 vcpus and a cpuid.coresPerSocket of 2 to get 4 dual core processors. Another example would be a license situation like SQL where you are licensed per processor, but not per core. In this example you could run 4 vcpus and a cpuid.coresPerSocket of 4 and still keep a single processor license with a single quad core processor.
You can read more on how to set vcpus and cpuid.coresPerSocket after the break.
You may not only implement and assign how many vCPU per VM (up to 8 vCPU in entreprise plus, up to 4 vCPU for the others), but also you can define how many cores per vCPU that VM will have. This could be used to maximize the benefit of your VM running on 1 vCPU with for example 4 cores and still not paying more for an application which is licensed per socket (vCPU).
For example, If you did a P2V of a server which was originally running on a server with one processor socket, you now can assign to that VM more cores and still be fine with the licensing for your application. It means that you can for example have a VM which has One vCPU, so it uses One socket license with a configuration of 4 cores.
A CPUs (vCPU) in the VM appear to the operating system as single core CPUs. So for example if you if you create a virtual machine with 8 vCPUs (the maximum) the operating system sees 8 single core CPUs.
VMware multicore virtual CPU support lets you control the number of cores per virtual CPU in a virtual machine. This capability lets operating systems with socket restrictions use more of the host CPU’s cores, which increases overall performance.
Some limitations: Only Hardware version 7 virtual machines support the multi-core vCPU feature.
Now to assign more cores to your VM folow those steps:
- Power off the virtual machine.
- Right-click on the virtual machine and click Edit Settings.
- Click Hardware and select CPUs.
- Choose the number of virtual processors.
- Click the Options tab.
- Click General, in the Advanced options section.
- Click Configuration Parameters.
- Include cpuid.coresPerSocket in the Name column.
- Enter a value (try 2, 4, or 8 in the Value column.
The value must be a power of 2 (like 2,4, or 8)…
Source: VMware KB Article: 1010184