Traditionally, vmware’s vCPU setting translates 1 core of a processor as 1 socket with single core CPU. For example a VM with 8 vCPU is interpreted as having 8 sockets single core CPUs.
So what’s the problem you say?
Consider this. I have a VM with windows 2003 SE installed. With 1 socket single core setup, the VM will only detect as much as 4 vCPU, since Windows 2003 SE only support 4-way SMP. Now, if this was a physical server, I could, say get 2-way quad cores processors to get an 8 cores setup.
To get the same setup on your VM on ESX, do this:
- right click on the VM, and select “Edit Settings”
- On “Hardware” tab, select CPU, and set the total amount of cores that you want to assign to the VM
- Next, go to “Options” tab, and select “General” from the “Advanced” option list. Press the “Configuration Parameters…” button
- On the “Configuration Parameters” window, press the “Add row” button, and insert “cpuid.coresPersocket” on the “name” field, and set the number of core that you want to assign to each socket on “Value”. For example, if you set your total amount of core to 8, and you want to make a 2-way quad cores setup, you need to put “4”
- Press “OK”, and “OK” again to save the change. Reboot the VM