Perfom: % Processor Time - Confused I Am!

  • Hi,

    Re: http://www.sqlservercentral.com/articles/Administering/performancemonitoringbasiccounters/1348/

    The article states various things about % Processor Time (eg. if 50% then, if 100% then etc). For example:

    "understand that your server will go to 100% CPU at times, but unless this is sustained for a period of time, for me it's more than 15 minutes, I don't usually worry"

    When I look at this counter in Perfmon (for the process object: sqlservr) I see a scale of 0 to 100 and it hovers between about 50 and 100, sometimes at 100 for several seconds. The stats below show an AVERAGE of about 200, a MIN of 50 and a MAX of 400.

    If this is a % then why have I got figures way outside of 0 to 100? How can the average % Processor Time be 200% ??

    Sorry, but this makes no sense!

    Any light shed much appreciated

  • The explanation for that counter is:

    % Processor Time is the percentage of elapsed time that all of process threads used the processor to execution instructions.

    So it's (cpu time/elapsed time)*100

    How many processors are in your system? If you have more than one, then the cpu time can be higher than the elapsed time

    Now Processor:% Processor time (which is the normal one monitored) says this:

    % Processor Time is the percentage of elapsed time that the processor spends to execute a non-Idle thread.

    So it's measured independently per processor, whereas the % processor time for a process appears to be measured overall

    I just did a test on my quad core box. SQL's limited to 2 processors only. I had Process(sqlservr):%processor time at 126%, but Processor:%processor time only reached 65% (as it's averaged over all the CPUs)

    There was other stuff running on the box at the same time

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass
  • My box has 8 CPU's, so that explains why sqlservr is at 200%!

    Thank you Gail - yet another clear and concise explanation. Cheers! 🙂

Viewing 3 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic. Login to reply