How to Understand High CPU Utilization

SEarle86SEarle86 Posts: 21 Bronze 1
edited December 29, 2022 5:17PM in Redgate Monitor
One of our servers has high CPU utilization just after 6PM for around an hour:



If I then look at the CPU utilization graph for the highlighted time period I see:

 

If I look at the 100% period just after 6PM, and highlight the graph, I can see the processor utilization is 100% and of that, 25% is SQL Server.

This tells me that it is something outside of SQL Server that is using a large amount of CPU.

I then scroll down to processes but none of the processes are showing high utilization:



Why are the top processes showing so little processor usage when the other two graphs suggest that the processor is maxed out?

Is the top processes chart the best place to look to understand what is causing the high CPU utilization? 

Answers

  • Alex BAlex B Posts: 1,158 Diamond 4

    Yes, the Top processes section is where you would see non SQL Server process information.  I would suggest to reduce the time window from 1 hour down to 15 minutes covering where the CPU is maxed (say 1800-1815) and see what it shows then and then also try having the end of the focus window be during the 100% utilization.

    It's a difficult section as the ordering is of Processor utilization but over the time period of the focus window and I think it uses the current value (e.g. 14.7% shown at the right of the sparkline for sqlservr#1) or potentially some sort of average over the time period (though I can't see this calculation being done in the code, but I may just be missing it).  It would make sense to use the max value during the time period to sort by, but I can't see it doing that in the code either.

    Kind regards,
    Alex
    Product Support Engineer | Redgate Software

    Have you visited our Help Center?
Sign In or Register to comment.