I am running version 4.1. The hardware is 2 dual-core CPUs (multiple VMs running).
How do I configure a VM (2003, Enterprise) to use 1 CPU with 2 cores?
Do I just need to add the cpuid.coresPerSocket config. param. with a value of 2?
Thanks,
Mike
For the purposes of a virtual machines CPU allocation, do not think in terms of sockets or cores. Think simply of cores.
You have four cores available on your host. Therefore you can assign up to four virtual CPUs.
The cpu.coresPerSocket setting is meant as a way to skirt around how certain applications license themselves (MSSQL) based on how many sockets are presented. Windows knows the difference between a socket and a core.
Just assign two CPUs. Windows will see it as two sockets. If you *really* want to make it appear to Windows as one socket with two cores then yes, the advanced parameter needs to be used.
Is there any impact regarding cpu scheduling and/or performance? I'm a little leery of running a VM with multiple...processing units.
Mike
The performance is the same in both cases, it's just the presentation of the vCPUs to the guest OS which is different.
André
It used to be a best practice to assign a VM - 1 vCPU and stick with it.
I am not sure - there is a difference or updates to CPU scheduling - replacing "Strict co-scheduling" with "Relaxed Co-scheduling".
So if you only have 4 cores - just keep that ratio of vCPU to pCPU in mind when someone asks for a 2nd vCPU.