VMware Communities
ST6
Contributor
Contributor

Unable to allocate 2 CPUs to VM on Workstation server

Hi guys,

I installed VMware Workstation Pro 17 on a Windows server 2016 equipped with two 6-core CPUs.

I tried to assign vCPUs to a virtual machine with 2 processors and 6 cores, but I got the error: "Powering on the virtual machine will fail because it is configured to use more virtual processor cores than the host supports." is displayed and the settings cannot be completed.
When I adjust the number of processors and cores so that the total is 6 cores, the settings are successfully completed and I can start up. However, as a matter of course, only 6 cores of the physical CPU are used.

When I check the Windows Device Manager, it recognizes two 6-core CPUs, for a total of 12 cores, so I don't know why 12 cores aren't allocated.

If anyone has any knowledge, I would appreciate it if you could help me.

Regards,
Tak

0 Kudos
24 Replies
ThompsG
Virtuoso
Virtuoso

Hi there @ST6,

 

Can you humor me and run both SysInfo and BgInfo64 on your host? Do both these confirm that you have 12 cores in total? Or do they say something different? I've seen it before when the BIOS 'locks' some of the cores however TaskManager shows the full potential count. 

 

Kind regards.

0 Kudos
ST6
Contributor
Contributor

Hi ThompsG.

thank you for your reply.


As you pointed out, systeminfo shows 12 cores,

but bginfo64 shows only 1 CPU 6 cores.


Do you have any good advice to solve it?

 

Best Regards,

0 Kudos
ThompsG
Virtuoso
Virtuoso

Hey there,

 

I would download CPU-Z and confirm that the Stepping between the two CPUs is identical as a starting point. After that I would look inside the BIOS to confirm that there aren't any restrictions on CPU.

 

Let me know what you find concerning the first and then we can look at the second. 

Tags (1)
0 Kudos
RDPetruska
Leadership
Leadership

Well, you NEVER want to overcommit your host anyway...  ALWAYS reserve at least 1 CPU/Core for your host - i.e. never assign more than N-1 cores to any guest.  Otherwise you will starve your host and performance will go to crap.

Also, is there any reason you need 12 cores in your guest?  Most of the time, VMs will run just fine using the minimum requirements.

0 Kudos
NateNateNAte
Hot Shot
Hot Shot

I'm more interested in why you are loading Workstation Pro on a server.  The chip architectures between workstations/laptops are different from servers, but is it a lab experiment?  Is there a reason you're using workstation and not a trial license of esxi?  

0 Kudos
bluefirestorm
Champion
Champion

Assuming the problem is not caused by Windows Server 2016 core licensing,

Run msconfig on the host. There is an "Advanced Options" in the "Boot" tab. Make sure there is no limit placed on the number of processors.

0 Kudos
ST6
Contributor
Contributor

Hi ThompsG,
thank you for your advices.

When I checked with CPU-Z, all information including stepping was completely the same between the two CPUs.
I'm not onsite today so I can't check the BIOS, but I'll try setting up the BIOS and updating the BIOS.


Hi RDPetruska,
Thanks for your comment.

The VM I want to use is a virtual emulator that uses a lot of CPU in short bursts, so I want to allocate as many cores as possible.
Of course, as you say, I have to leave enough cores for the host to function normally.


Hi NateNateNAte,
Thanks for your comment.

I was originally running it on workstations, but by chance another team's server became available, so I moved it to that server.
This VM is a virtual emulator, so it requires a lot of memory and CPU.
Workstation Pro also supports Windows Server, so I think there is no problem in running it on a server.
The reason why we do not use ESXi trial licenses is because we need to operate the system for a long period of time.


Best Regards,

0 Kudos
ThompsG
Virtuoso
Virtuoso

Hi @ST6.,

 

Something else you can check though I believe it exhibits differently, is MSCONFIG:

ThompsG_0-1703244176216.png

Humor me and confirm somebody hasn't configured a limit here 🙂

 

Kind regards.

 

0 Kudos
NateNateNAte
Hot Shot
Hot Shot

ST6,

OK, now with context that makes sense.  Yes you can run workstation on a server, but REPetruska is correct you don't want to over-allocate resources that your host machine still needs to run.  

Understanding that you need as much resource as possible, is it a matter of emulating a 12 core VM specifically?  If so, you would want to find an available 16-24 core server and go that route. 

If it's only a matter of 'as much as possible, then I'd personally go with 10 cores of CPU and go from there. I'm also recommending max of 10 cores on your available server only because you said the workload is in short, but intense bursts. 

Ideally you'd have access to a cloud-based resource that you could allocate a maximum of some cores, but only be charged when they are in use, but given the use case, and the resources (money) available, that's likely your best route to start with only allocating 10 cores, and then hopefully you have that set up and can go investigate the BIOS as an alternative to squeeze out the last 1-2 cores if possible. 

Good luck!

0 Kudos
ST6
Contributor
Contributor

Hi guys,

thank you for your reply.


@bluefirestorm
@ThompsG

When I run msconfig , I can only select up to 6 processors, and only 1 CPU appears to be recognized. Is it a BIOS problem? Or is it a licensing issue? I heard that the second CPU was ported from another server of the same model.


@NateNateNAte

Well, I agree with your opinion. I don't intend to allocate 12 cores, but I would like to allocate at most 10 cores to the VM.

0 Kudos
bluefirestorm
Champion
Champion

Do both CPU sockets have equal amount of RAM? Put another way, when the second socket was installed, were the DIMMs for the second socket also installed with RAM?

I suppose if the DIMMs of the second CPU socket have no RAM installed, the server will likely still boot up. But with NUMA enabled, the second CPU will be useless as it has 0 RAM.

You can use a tool like HWinfo64 and check/verify if both CPU sockets have equal amount of RAM. From the System Summary or on the Main Window or the Memory window, HWinfo64 will show something like DIMM1_CPU1, DIMM1_CPU2, DIMM2_CPU1, DIMM2_CPU2.

There should be rules on how the DIMMs of both sockets are to be populated but that information generally is available on the hardware installation/service manual.

0 Kudos
ST6
Contributor
Contributor

Hi guys,

 

@bluefirestorm

I follow the server manual and install the DIMMs in the appropriate locations for each CPU so I don't think there is a problem. 

0 Kudos
bluefirestorm
Champion
Champion

At this moment, I don't think it is a VMware issue as the msconfig also lets you select only up to 6.

If it is licensing issue, you should verify what licence was purchased based on the Server 2016 edition that you have. From what I see on search results: Windows Server 2016 Standard require a minimum 16 core licence purchase while Windows Server 2016 Essentials licensing is based on CPU instead of core.

What is the exact CPU model? Assuming it is an Intel CPU, just remember not all Intel Xeon CPUs are designed for multi-socket configuration. You can look up the spec at ark.intel.com website, depending on the model, check the "Scalability" or "Max CPU Configuration". It should be 2S in scalability to be able to have dual CPU configuration.

0 Kudos
ST6
Contributor
Contributor

Hi bluefirestorm.

I was also a little concerned about the license. I'm using Windows Server 2016 Standard, so if what you say is correct, there doesn't seem to be any problem with the Windows license.

The CPU model is Intel(R) Xeon(R) CPU E5-2603 v4 @ 1.70GHz. I checked on ark.intel.com, and it seems that there is no problem with 2 CPUs.

I'll check the BIOS settings again.

0 Kudos
bluefirestorm
Champion
Champion

It is quite unlikely anything in the BIOS will change the situation. From the looks of it, it seems to be a licensing issue.

While the rule is minimum 16-score license, Microsoft sells 2-core incremental licenses for Windows Server 2016 Standard for core counts above 16. It might be the case 3x 2-core licenses were applied instead of 16-core license; although this would be a licensing violation.

Just an example with a Windows 11 Pro VM: 4 virtual sockets x 2 cores configured, the Device Manager shows 8 CPU icons, Task Manager shows 2 virtual sockets 4 logical processors, and msconfig shows 4 processors in the boot advanced options drop-down. In this scenario, the Windows 11 Pro limit of 2 (virtual) sockets applies.

Don't know if you can see what license(s) are applied from executing at the host command line: slmgr -dlv
If you are sure the license is for 16-core, you could try reactivating the license and see if it makes any difference.

The other possibility is additional system devices are installed for the 2nd CPU and a reboot of the host machine is required; but this possibility is quite remote.

0 Kudos
ThompsG
Virtuoso
Virtuoso

Hi @bluefirestorm,

 

Sorry but don’t believe this is correct. If you don’t apply a license to a VLK install then it will just cry at you about being unactivated and remove personalisations however that is it. No limitations, no issues. Now if you are running the evaluation copy, then after the evaluation period the warning will come up, personalisations removed and the server will shutdown each hour.

 

Outside that the license is sort of an honestly policy. You need to buy a minimum of 16 cores to activate a license/server as you have said and there are rules around this as well, I.e. minimum of 8 cores per socket, etc. if you went about this number then shrug until Microsoft audit you. Note: Not suggestion people bypass the licensing just stating how it works.

 

i trust I have this right and hope this makes sense?

0 Kudos
bluefirestorm
Champion
Champion

ThompsG,

Outside that the license is sort of an honestly policy. You need to buy a minimum of 16 cores to activate a license/server as you have said and there are rules around this as well, I.e. minimum of 8 cores per socket, etc. if you went about this number then shrug until Microsoft audit you. Note: Not suggestion people bypass the licensing just stating how it works.

As you indicated yourself, it is an honesty policy thing. So it is quite possible 3x 2-core licenses were applied and the cores of the additional CPU are not being used despite showing up in Device Manager because of the license applied were 3x 2-core licenses. Neither you nor I know what license(s) are used and where the licenses come from; whether it came with the hardware or it was purchased separately and so on. Even the OP might not even know if he/she is just a contractor/vendor visiting a customer site or not involved at all in the procurement process of the hardware and OS license.

0 Kudos
ThompsG
Virtuoso
Virtuoso

Hi there,

 

Sorry, not making myself clear. No matter the licensing applied, all cores will work or should be available. Since the version applied was 2016 Standard, this support 64 sockets and unlimited cores. Should cover the current hardware 😉

 

Kind regards.

0 Kudos
bluefirestorm
Champion
Champion

ThompsG,

There is this case
https://community.spiceworks.com/topic/2281096-windows-only-showing-48-cores-instead-of-96

where the licensing affects in a similar way (although this seems to be 4 sockets). But the effect is similar as Device Manager show the total expected cores but msconfig shows half.

Humor me, what was that rant about VLK and evaluation licenses all about?

0 Kudos