Hello,
I normally work with ESXi and there is the notion of sockets (physical CPU's) and Cores. Normally my servers have two sockets and however many cores are needed. Example I have two sockets and four cores for a total of 8 vCPU's.
I purchased VMWare Workstation Pro for school and I am confused by VM settings for "Processors" and "Cores".
I am running a Dell Precision Mobile Workstation 7550 with one CPU, eight cores and 16 threads.
In ESXi the sockets always are set to two to match the physical sockets.
How do I translate this into VMWare Workstation Pro? Is "Processors" the number of physical procs? What is the max cores I can set given that I have eight cores, but 16 threads? Are there recommended setting? It always defaults to 2 procs / 1 core, but this is really not enough to run Server 2016.
Thank you
Basically the number of processors and cores you want the guest to see. I have a Precision workstation with a xeon W-2255 CPU and it runs Windows Servers (with multiple processors and cores) fine. Mostly 2019 and older. The help file says:
"Workstation Pro supports up to 16-way virtual Symmetric Multiprocessing (SMP) for guest operating systems running on multiprocessor host machines. You can assign processors and cores per processor to a virtual machine on any host machine that has at least two logical processors."
My understanding of logical processor: a core is a logical processor (as well as a processor).
Number of processors become virtual sockets inside VM
Number of cores per processors become virtual cores inside the virtual sockets
Number of Virtual CPUs (Logical processors) = virtual sockets x virtual cores
Just like ESXi, number of virtual sockets that is recognised by the VM is dependent on the guest OS (e.g. Windows 10/11 Home allow only 1, Professional 2, Enterrpise/Workstation Pro 4).
VM performance difference between virtual sockets vs virtual cores (e.g. 1x4 vs 2x2 vs 4x1); in a word: None
With Workstation Pro/Player 16.x, the maximum vCPUs that can be assigned is 32 or the number of total threads in the host CPU; whichever is lower. In your case you can assign a maximum of 16, but you probably don't need to nor should you. You should leave some logical processors for the host OS and other processes running on the host.