Forum Discussion
Solved : Uneven CPU usage
Greetings and salutations,
I'm asking for your help with a situation that I'm not sure is a real problem, but it definitely caught my attention. We bought new hypervisor servers with two AMD EPYC 9174F processors (16 cores, 4.1 GHz, so 32 cores in total ). We are using Hyper-V. The hypervisor hosts only a single VM assigned 16 virtual cores. The VM is running Windows Server 2022 Standard and SQL Server 2019 Standard CU27.
The VM was moved to this AMD hypervisor from another hypervisor, which was equipped with two Intel Xeon Gold 6346 processors (16 cores, 3.1 GHz, 32 cores in total). When monitoring the resource usage of a VM that is now running on the new AMD hypervisor, I see very uneven CPU usage that was not the case on the previous Intel hypervisor.
As you can see in the images from Task Manager and Perfmon, the first 8 cores are significantly more loaded against the other 8. While the core for example core 0 and 1 are on average loaded at 66%, cores 14 and 15 are loaded at 2-4%. The SQL Server ERRORLOG clearly states that all 16 cores are in use, which is confirmed by querying the sys.dm_os_schedulers object.
I'm partially hoping this is a Perfmon-level issue, but I certainly don't want to underestimate the situation. Perhaps I should direct my question to the Windows forum, but since it is database system, I'm creating a thread here.
Does anyone have any idea how I should go about solving this situation please?
Solution
Almost by accident I managed to solve the problem and I'm ashamed that I didn't solve the problem sooner.
The cause of the problem was an inappropriately set Widnows Server Power Plan. As you probably know, the default setting after installation is the Balanced mode, which, however, is extremely unsuitable for performance-intensive applications, which are database systems. Out of 16 virtual cores, 8 were in "Parked" mode. Changing the configuration to "High Performance" solved the problem immediately.
It's already my routine to change this configuration when setting up each database server, and I'm almost certain I've done it on this system as well.
- olafhelperBronze Contributor
HermesStorm , see Editions and supported features of SQL Server 2022 - SQL Server | Microsoft Learn
Standard Edition supports max. 24 cores, that's why the others are "sleeping"
- HermesStormCopper Contributor
Thank you for your response. I think it is clearly stated in the text that the mentioned VM has 16 virtual cores assigned to it. Images from Perfmon and Task manager show 16 cores.