The counter, Process(sqlservr)\% Processor Time, is hovering around 300% on one of my database servers. This counter reflects the percent of total time SQL Server spent running on CPU (user mode + privilege mode). The book, Sql Server 2008 Internals and Troubleshooting, says that anything greater than 80% is a problem.

How is it possible for that counter to be over 100%?

link|improve this question

78% accept rate
feedback

1 Answer

up vote 5 down vote accepted

There are two counters with the same name:

Process\% Processor Time: The sum of processor time on each processor

Processor(_Total)\% Processor Time: The total for all processors

Your question indicates you're using the first counter, which means that its maximum value is 100% * (no of CPUs).

So if you have 4 CPUs, then the total maximum is 400%, and 80% is actually (400 * 0.8 =) 320% (and for 8 CPUs it's 640%, etc etc)

link|improve this answer
Yep! That's it. I have 8 CPUs. So my sqlservr total CPU usage is actually about 37%. And that means everything is normal. Thanks, @Farseeker! – Bill Paetzke May 19 '10 at 1:15
Any time. I had similar queries when I first started using perfmon on multiple-cpu systems. – Mark Henderson May 19 '10 at 1:17
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.