CPU - CPU Utilization

> Perfcounter (Performance Metrics) - (Operational|Machine) data > Counter - Resource (Metrics) > (Operating) System Metrics > CPU - (Metrics|Counter)

1 - About

Utilization Metrics in CPU

CPU utilization is the amount of time spend not in the idle task.

CPU utilization is a key performance metric. It can be used to track CPU performance regressions or improvements, and is a useful datapoint for performance problem investigations.

Assume you have a single core processor fixed at a frequency of 2.0 GHz. CPU utilization in this scenario is the percentage of time the processor spends doing work (as opposed to being idle). If this 2.0 GHz processor does 1 billion cycles worth of work in a second, it is 50% utilized for that second.

Current processor technology is much more complex. A single processor package may contain multiple cores with dynamically changing frequencies, hardware multithreading, and shared caches. These technological advances can change the behavior of CPU utilization reporting mechanisms and increase the difficulty of performance analysis.

CPU utilization is typically used to track CPU performance regressions or improvements when running a specific piece of code.

CPU utilization can also be used to investigate performance problems. If an application (myapp.exe) typically uses 25% CPU on lab test machines, but is using 99% of the CPU on another system, this could be indicative of a performance bug.

CPU utilization has important implications on other system performance characteristics, namely power consumption.

For someone performing performance testing and analysis, the ability to log CPU utilization data over time is critical.


3 - Documentation / Reference

counter/resource/system/cpu/utilization.txt · Last modified: 2018/12/14 16:43 by gerardnico