Link to home
Start Free TrialLog in
Avatar of anon1m0us
anon1m0us

asked on

Reading Perfmon and Scale

I set up perfmon but I am having trouble reading it. The readings change based on the scale.

My question are: How do you use scale in perfmon? and why does the values change based on the scale? How do I know when to change the scale from 1.0 to 0.001 etc?
perfmon1.JPG
Avatar of anon1m0us
anon1m0us

ASKER

Both images are from the same reading, but using different scales.
perfmon2.JPG
Avatar of arnold
The issue is that you have multiple counters each has its own scale.
The change of scale depends on what you are looking at.

you take the numbers being reported and multiply them by the scale.
in your case the %usertime is a 1 scale i.e. the numbers reported are the numbers.
if you had a 100 scale with the same numbers, the actual information would be:
8,292 avg
117,289 Maximum
17,992 Last.

The same is true the other way if the scale is .1:
.8292 Avg
11.7289 Max
1.7992 Last

The scale is adjusted so that the infromation can be presented.
When adding counter for display you should keep track of that i.e. if you are using high counter i.e. sql transactions with low counters sql user login/logout. the transactions could be in the thousands or hundreds of thousand while the user login/logout could be in the tens or hundreds.
But if I am looking at percentage, how can the percentage be larger than 100%?
You are looking at an aggregate picture with different lines representing different scales and different information.

Could you post which counter you are talking about?

Note that when you add counters it is possible that the color line used is duplicated. Double click on the line of interest and the counter will be highlighted.
If you look at the first picture on the %Processor Time, it lists the average as 393. I scaled the vertical to be 0-100, how can it go over 100%??
The average VALUE is 393. Multiply the Value of 393 with the scale of 0.1 and you get 39.3%.

Using the Scale isn't very usefull when measuring things expressed in %, but if you're for instance measuring something in kb or MB/sec or..., you can use the scale to make it fit on the screen.
Or if the measurements are below 1%, you can scale the graph with 10x or 100x to make the graph nicer to watch.
Orginally, my scale was 1.0 which put the line out of the graph. I decreased it to .1 to see the line. If I kept the scale at 1.0 the value is still 393. If I multiple 393 by scale of 1.0 it is still 393. I am a little confused how a value can go over 100%?

I have not seen a percent counter reported with a scale other than 1. not sure if there is a percent change similar to the change counter. i.e. I think there is a memory counter that deals with a difference from a prior cache hit or something like that. Do not know whether there is a similar % change counter which could go over 100%.  I.e. if the % change counter relies on an event that occured once in the prior period and now it occured three times, the % change will report a 300% increase.

The issue I think the asker has is that the display while showing by default a scale of 100, has lines that go above it and the line might be using the same/a similar color to another counter that is a percent counter.
The issue is not with the lines or color of the lines. All that is great.

The problem I am having is interpreting the data. A percentage should only go up to 100%, however,  I see the Average counter is at 393. What does that mean?>

Ok, here is what I found: Process\% Processor Time-The sum of processor time on each processor for all threads of the process. In a 8 way server,  if 2 are 10% and 6 at 5% then the counter shows 50% or in my case 393%.  It seems like this counter _total is useless.
Average counter is not a percent counter.
Which counter specifically are you talking about?
Do you have a % cpu use that hits average 393 with a 1 scale?
This is what I am looking at.


I am reading the average & Max which is over 100%(393 & 400). I use percentage because the counter is the %Processer Time which should report in percentage.
perfmon1.JPG
Could you double check: are you talking about process\% processor time or processor\%processor time
The total presumably also includes the pipelining/multithreading tabulation in the process\% processor time. Presumably the max for an 8 way server would be 800% (100% per processor/core/thread)
http://technet.microsoft.com/en-us/library/cc768048.aspx
I think you have given the answer yourself:
Process\% Processor Time-The sum of processor time on each processor for all threads of the process. In a 8 way server,  if 2 are 10% and 6 at 5% then the counter shows 50% or in my case 393%.  It seems like this counter _total is useless.
So how many cores does your server have?
To have a better view, add a counter per core. But the near-flat line indicates a process (or multiple processes) is keeping a few cores 100% busy. It looks like multiple processes, or a single process that's multithreaded but can't use all your cores. If you have 4 cores, all four of them are stressed 100%, and your machine is fully stressed.
I am talking about the process\% processor time. I have a quad processor.
My  process\% processor time is 393
My  processor\% processor time is only at 9%

The processor\% processor time reports on total average use.
The process\%processor time deals with "useful" data.
I.e. if process processA has 10 seconds of processor time every minute.  The process\%processor time reports on how useful processA was with the processor time.
I.e. did it use the 10 seconds to the MAX or it used one second of the processor time it was allocated with the rest it was idle. 10 % processor time Another process processB is multi threaded so when it gets 10 seconds it uses all the cores. so its usefullness is 100% processor time per processor.

The process\%processor time does not take the system Idle into account while the processor\% processor time does.
and how would you plug that in with my perfmon.
process(_total)\%processor time average = 393
 process(splunkd)\%processor time  average=16
processor\% processor time average= 9.8
four cores with each maximum 100% total allocated time to each processor used to the max.  With efficiency a process within the allocated processor time could have completed more to an efficiency >100% per cpu.
What is the processor\%processor time for (system idle) what is your process\%processor time (IDLE) say MAX 400%?
If there are 10 people with each can write as much as they can when they have the pen(pen can be a pair of pens).
one person left handed or right handed is handed two pens for 10 seconds.
one person ampidextrous is handed two pens for 10 seconds.
A filled out page is 100%.

The first person filled out one page. process\%pen time is 100%
The second person filled out both pages process\%pen time is 200%
If the second person was also a quick writer and filled out 1 and a quarter pages with each hand, process\%pen time is 250%
The actual time the pen\%pen time was using during the minute is 18 % average 32% max for the first (only one pen used)16% and 32% for the second for an average load on the pens of 12
guesstimatics to illustrate a point
wow! Totally confused.

I need to know how to read those counters.
The process\%processor time is more of an efficiency indicator than anything else.  I.e. based on the amount of processor time allocated to each process did the process use the time?
i.e. did process a used the processor time allocated to it 100% or not.

Please look at the MS link provided. or click the explain button in perfmon.
I understand what the counters do.

My questions is what does 393 mean? is that the total percentage of the processes running on this computer? Is that based on a 4 CPU? So if I have 4 cpu x 100%, does that mean my total processes that can run =400%? So how does this 393 compare to the 400%?  According to the PROCESSOR\%PROCESSOR TIME is only running at 9%, so how could PROCESS(_TOTAL) \%PROCESSOR TIME =393??
I ger that, you just want to know what the data they present means.

Yes and no an efficiency could also exceed 100%.
processor \%processor time takes into account how much time the processor was IDLE. while the process\%processor time only considers allocated processor time to process/es and what they did with that time.

in your example out of the (%9) the processor was busy it accomplished almost 98.25% out o each processor/core/thread.
i.e. a system with dual CPU and hiperthreading will report 400% as well for this counter.

an equivalent could be your car.  car\%car use versus driver\%car use.
i.e. for two hours you take the car and drive back and forth covering 200 miles. you can say that your car\%car use is more than a 100% since the speed limit maxes out 55/65 and you covered 70 to 80 miles more.
the car\%car use is 15% for the day it was used once for the two hours.
First:
The way I understand it, is that processor \%processor time is the average time the processors are working MINUS the idle time. So from 100% of CPU capacity, my idle time is 70%, my Processors\%Processor time would be 30%.

Which means, from my perfmon output,  the average of Processor\%processor time is 9. Which means that my system is idle 91% of the time and only working 9% of the time.

Is that correct?

Second:
The Process(_TOTAL)\%Processor Time is the SUM of all  processes running on all CPU's. My _total is 393.

The place I am still confused is where does this max out? Does this counter take into account the number of CPU's?? It is 393 out of what? 393 out of 1000? 393 out of 400? To me, seeing 393 in a quad processor which I assume maxes out at 400(4 x 100%)is BAD!
However, the processor\%processor time is only 9% which tells me that the CPU is sitting idle most of the time. Does Process(_total)\%Processor time also include idle?
ASKER CERTIFIED SOLUTION
Avatar of arnold
arnold
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial