I have been trying to find out the best way to measure the CPU utilization of processes in a Windows Server 2012R2 system and I found out that there are many inconsistencies among the methods used to measure utilization.
Initially, I looked at to observe the CPU utilization is the task manager but it only give you a snapshot of utilization, not data over a certain period of time so I decided to use other tools such as procmon or process explorer but not any one of those two report the same numbers or even the rankings among processes.
Here are the inconsistencies:
1) Task manager "processes" tab and "details" tab shows completely different values for "%CPU utilizaton" and the ranking among those processes. For example, the processes tab shows this:
- abc.exe %24
- 123.exe %10
- sdf.exe %3
whereas the "details" tab show:
- idle %55 (this is not the odd part)
- sdf.exe %11
- ert.exe %9
- abc.exe %7
2) Process Explorer CPU% shows different values compared to both Task Managers "Processes" tab and to "details" tab: I understand the values may be displayed with a delay or minor inconsistencies, but the values shown in all three places are almost completely different just like the example above.
3) Process Monitor also gives out inconsistent information about the ranking of the processes in terms of CPU utilization: Even though ProcMon does not give percentage values of processes, the ranking among those processes (in terms of CPU time)do not match either Process Explorer or Task Managers ranking.
The question in summary is: Which one of those measurements would give the most accurate representation of CPU utilization among processes and why?