Domanda

I have SQL Server running on 32-core CPU, and I use Performance Monitor (perfmon.msc) to collect data on Processor: % Processor Time (Instance - _Total) and Process: % Processor Time (Instance - sqlservr.exe)

So for example for day 2019/07/21 (Sunday), it shows average values:

Processor: % Processor Time (Instance - _Total) - 3.959
Process: % Processor Time (Instance - sqlservr.exe) - 107.312

Why is such a difference ?

I expected sqlservr.exe to show values like 2.900 or 3.100 - something like this, but not 107.312

How to correlate _Total to sqlservr.exe ?

I am using MaxDOP limited to 8 server level setting on SQL Server, if this is any help

È stato utile?

Soluzione

The Process: % Processor Time (Instance - sqlservr.exe) counter takes into account all of your cores. If you divide by the cores you get an answer much similar to what you expected.

This TechNet article explains it in far more detail but it uses this calculation to get the number you see: (No of Logical Cores * 100), So this is going to be a calculated over a baseline of more than 100.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a dba.stackexchange
scroll top