Windows – How Can Perfmon % Processor Time Be Over 100%

cpu-usageperfmonsql serversql-server-2005

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%?

Best Answer

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)