Montag, 27. Februar 2012 04:04
Now i'm working on a windows project and encountered below problem.
System are with 32 Cpus. And for my process "aaa", i made Cpu affinty on it with CPU0,1.
Then running some script stress on process "aaa".
I record the counter data for process "aaa"'s "%processor time" for about 1 min by every 30/sec
Then i calculate the average Cpu utilization for process "aaa" as (190+199)/2 /2 = 97.25
So i thought the average Cpu utilization for Cpu0 and Cpu1 is about 97.25% (For process "aaa" there was only 2 Cpu System)
But some person in my team said my calculation is wrong and should be (190+199)/2 / 32 = 6.0
6.0 is the total Cpu utilization of process "aaa"
So here is the problem which one is correct?
Thanks for helping on this!
- Bearbeitet MartinLiao Montag, 27. Februar 2012 04:05
Dienstag, 28. Februar 2012 19:32Moderator
This is not an easy value to get out of perfmon. This is the way it has been explained to me.
Assume 1 CPU here.
First you need to know Processor\% User Time\_total value.
Then you need to know your Process\% Processor time\(your application).
The amount of CPU you are using is (Processor\% User Time\_total)*(Process\% Processor time\(your application))
For example Processor\% User Time\_total averaged 25%
Process\% Processor time\(your application) = 50%
Your application is using 25%*50% or 12.5% of your CPU
Now lets add 4 process
The max value for (Process\% Processor time\(your application) is 400% (100% * number of processor)
So this would be the equation for multi processor box.
(Processor\% User Time\_total)*((Process\% Processor time\(your application)/Number of CPU))
Bruce Adamczak Please click "Mark as Answered" if a post solves your problem Please click "Vote As Helpful" if you find the answer helpful