Sql Server: Process(sqlservr)\% Processor Time
- Posted by Sqltimes
- On October 11, 2013
- 0 Comments
Another quick one today.
The counter “Process(sqlservr)\% Processor Time“, is monitored frequently, to see how SQL Server is consuming CPU resources. This helps put things in perspective as to how existing resources are being utilized; If it’s efficient or does it need any tweeks.
One counter that, we capture as part of regular monitoring is: Process(sqlservr)\% Processor Time
But on a multi-core machines, the captured number seems to go above 100%. It’s aggregate of CPU utilization (%) on each core, so when added it goes about 100%. But it reality it’s not.
Example:
If you have a quad-core machine, with following CPU usage on each core:
- Core 1 – 40%
- Core 2 – 30%
- Core 3 – 5%
- Core 4 – 50%
The total is :125%
So you see 125% as the captured metric for this counter, but in reality its an aggregate value.
From MSDN:
“…Now this Processor time counter under the Process Object gives the amount of CPU this Process is taking individually. This value is calculated over the base line of
(No of Logical CPUS * 100), So this is going to be a calculated over a baselin of more than 100. ”
Hope this helps,
_Sqltimes
0 Comments