Hello,
On the Mac host the guest VM is configured to have 8 processor cores. However in the Windows guest there are only 2 virtual processors in use.
How to have the Windows guest use more that 2 cpus? Why are only 2 cpus available in the guest OS when it is configured to use 8 cpus?
Versions:
VMWare Fusion PRO 12, license <license key removed by moderator>
Host OS: MacOS Monterey 12.5.1
Guest OS: Windows 10
Any advice appreciated! Thanks,
-Mike
You have to edit the VMX file directly.
What edition of Windows 10? Home only supports up to 2 processors, if I remember correctly. Pro and Enterprise should not be limited.
It is Windows 10 Home but what is strange is that I have two guest VMs one is working as expected and one is not.
The first VM is Windows 10 Home, configured for 6 cpus in Fusion, and in the Windows guest in Task Manager it shows:
Sockets: 1
Cores: 6
Logical Processors: 6
Virtualization: Enabled
Which is expected and all good.
The second VM is Windows 10 Home, configured for 8 cpus in Fusion, and on the Windows guest in Task Manager it shows:
Sockets: 1
Virtual Processors: 2
Virtual Machine: Yes
This is a problem since in Fusion I am trying to configure for 8 cpus. Have tried other values like 4 or 6 cpus but on the guest it never shows more that 2 cpus.
Cannot figure out why the 2nd machine looks so different and is limited.
For the second, change to 2 sockets and 4 cpu each.
Note that you should never exceed N-2 physical cores to any given VM on an Intel platform. Otherwise you'll starve the host for cycles. Older MacOS versions can get away with N-2, but newer ones are much more finicky.
In the VM Settings window, under Processors & Memory, there is only the option to specify Processors and Memory.
Under Processors there is only the menu option to select anywhere from "1 processor cores" to "16 processor cores". There does not appear to be any way to change the number of sockets.
In any case for the first VM which is working there is Sockets=1 and Cores=6 in the guest which is expected.
You have to edit the VMX file directly.
Aha! I made these changes:
before:
numvcpus = "8"
cpuid.coresPerSocket = "2"
after:
numvcpus = "8"
cpuid.coresPerSocket = "8"
That seemed to solve the problem. Didn't see a way to change the number of sockets in the .vmx. Not sure if that is important in the virtualized guest OS.
In any case, it is better now.
Thanks very much.
