I have just run into a similar issue and it may be down to a limitation in how Perfmon functions. Explanation: Why you see data greater than expected is due to a design limitation in perflib V1/PDH. To calculate the percentage of CPU usage, PDH needs two samples (each with a raw value and a timestamp); the problem is that PDH uses only the instance name to match the processes, so it can sometimes use two samples from different processes. For example, in the table below there are 3 processes (black, green and red). Each sample is 1 second apart, and the values represent the total number of milliseconds each process has ran for since it started. The first row indicates how PDH names the process; X X#1 X#2 Sample 1 0 0 0 Sample 2 20 10 500 Sample 3 40 20 1000 Process in green is deleted, so process in red becomes X#1 Sample 4 60 1500 It looks like process X#1 ran for 1480s in this 1s interval! Sample 5 80 2000 ß Everything seems back to normal now. Ref: Info about Counter "% Processor Time"? (microsoft.com) With a possible fix being listed here: Perfmon: Identifying processes by PID instead of instance - Microsoft Tech Community I haven't tested the fix yet but will report back with results if it does get implemented.
... View more