SOLVED

Installing Hyper-V on Windows Server 2022 reduces host system CPU to 1 core 1 thread

Copper Contributor

Bit of an odd situation, I've installed Windows Server 2022 (desktop experience) on a server, installed MegaStorage MSM and the relevant drivers from Supermicro and any Windows updates. When I install the role HyperV (just the Windows feature Hyper V, not any VMs), my host goes from 8c16t to 1c1t. I thought it might be a visual bug, but it runs like a snail stuck in syrup, so it seems like it's running on 1c. The L1 and L2 caches reported by Task Manager are also altered, but the reported caches are 1/8s of total cache, so it fits the core reduction.

 

I'm not experienced with Server 2022, and I've only really set up HyperV and VMs on Windows 7/10/11 as well as VirtualBox previously, so it's entirely possible this is amateur hour and I've forgotten to set/install something basic and obvious.

As for the usual suspects, I've double checked BIOS settings (originally set by the hardware supplier) and everything VT-related looks enabled. The msconfig -> Boot -> Advanced -> "Number Of Processors" check box is unchecked.

 

My supplier suggested it might be a Server 2022 software issue, so I installed Windows Server 2019 (evaluation edition, no license) and it just works. HyperV goes in, CPU remains 8c16t. I upgraded that install with HyperV enabled from Server 2019 (eval) to Server 2022 (licensed) and the upgrade reduces my host CPU to 1c1t.

 

The system in question:

Motherboard: Supermicro X11SPL-F running 3.6 BIOS
CPU: Intel Xeon Silver 4208SP 8c16t
RAM: 16GB DDR4 3200MHz ECC Registered 2Rx8 Samsung x4
Controller: Avago/Broadcom/LSI/whatever the flavour of the month SAS9341-8i
Storage: 2x Samsung PM883 SSD 960GB running RAID1

Here are screenshots of the feature list, Task Manager and Device Manager before and after: https://ibb.co/v1mP8Zn https://ibb.co/6Z6xj7C

 

 

Edit: Corrected feature to role.

I went through the logs and there's an error being thrown just after HyperV is installed.

Event 97: "Hypervisor processor startup failed (APIC ID 0x0) due to CPUID feature validation error. Further processors in the system were not started. Leaf 0x1, register 0x2 feature mismatch: BSP has features 0x77FEFBF7; AP has features 0x0"

I see other people have reported this error for previous Windows Server versions.

My exact CPU specs are:

Processor Name: Intel(R) Xeon(R) Silver 4208 CPU @ 2.10GHz

Type : 0 Family : 6

Model : 55

Stepping : 7

Revision: 500320A

 

9 Replies
Yes, I've tried with both Supermicros driver and Intels official chipset driver, with the same result.

The vendor will be your best resource for problem with the hardware.

https://www.supermicro.com/en/contact

 

 

I'm not sure I follow the logic, it works fine with Server 2019, why would a hardware problem manifest itself in that way? But yes, I have contacted the supplier. They were unaware of the problem and didn't have any suggestions beyond contacting Microsoft, as they are of the opinion that it is a software problem.

Funnily enough, they linked me to my own discussion thread on serverfault.

That's pretty poor support from the vendor. Might try asking in a forum geared towards supermicro hardware otherwise you can also start a case here with product support.

Services Hub (microsoft.com)

 

bug fixes are always free of charge.

 

 

Hi,

we have the same behavior with one of two servers in a HyperV Failovercluster.

 

Host1 and Host2 shows all cores/cpu's in Device Manager, but Host1 only runs on one core and one CPU. Also visible in TaskManager.

 

Reinstalled, new BIOS, reset BIOS, latest updates. Supermicro distributor is trying to help, but no clue...

No difference in hardware and (software) versions.

 

Sander.

 

 

best response confirmed by Intfk (Copper Contributor)
Solution

Got it! My colleague searched and searched for it. And found a workaround!
Ok, the workaround is nasty and shows a problem in how HyperV 2022 in somewhere in the latest Windows Updates communicates with the BIOS and CPU.

In the BIOS, go to Advanced -> CPU Configuration -> Advanced Power Management Configuration -> "ENERGY_PERF_BIAS_CFG mode". Edit this option.


You will find six options;
* Extreme Performance (does not work)
* Maximum Performance (does not work)
* Performance (works)
* Balanced Performance (works)
* Balanced Power (works)
* Power (works)

 

See following screenshot as example:
image (7).png

 

Select one of the working templates and you will get the CPU cores back.

 

But why?! It looks like there is something wrong with the exposure of the CPU C-states. In this particular situation is looks like it have to do something with CPU masks and with HyperV not accepting/recognizing them:
"Extended Auto-HALT State C1E"

 

Sander.

That is interesting, and I'll have a look at my BIOS for sure. For the sake of curiosity, would you mind posting the specs for your two hosts? CPU/motherboard will likely be sufficient. Thanks for posting your findings, and hello again.
I don't have the Extreme setting, but changing from Maximum Performance to "just" Performance did indeed fix the issue for me. Thank you, I doubt I'd even attempt that toggle without your post.
1 best response

Accepted Solutions
best response confirmed by Intfk (Copper Contributor)
Solution

Got it! My colleague searched and searched for it. And found a workaround!
Ok, the workaround is nasty and shows a problem in how HyperV 2022 in somewhere in the latest Windows Updates communicates with the BIOS and CPU.

In the BIOS, go to Advanced -> CPU Configuration -> Advanced Power Management Configuration -> "ENERGY_PERF_BIAS_CFG mode". Edit this option.


You will find six options;
* Extreme Performance (does not work)
* Maximum Performance (does not work)
* Performance (works)
* Balanced Performance (works)
* Balanced Power (works)
* Power (works)

 

See following screenshot as example:
image (7).png

 

Select one of the working templates and you will get the CPU cores back.

 

But why?! It looks like there is something wrong with the exposure of the CPU C-states. In this particular situation is looks like it have to do something with CPU masks and with HyperV not accepting/recognizing them:
"Extended Auto-HALT State C1E"

 

Sander.

View solution in original post