Idleutilization. By default, if the CPU Time on all threads is less than 0.5 of 100% CPU Time on 1 core, such CPU utilization is classified as idle. Formula:
∑, where CPUTime(T,i) is the total CPU Time on thread i on interval T.
i=1,ThreadsCount(CPUTime(T,i)/T) < 0.5
Poorutilization. By default, poor utilization is when the number of simultaneously running CPUs is less than or equal to 50% of the target CPU utilization.
OK) utilization. By default, OK usage is when the number of simultaneously running CPUs is between 51-85% of the target CPU utilization.
Idealutilization. By default, Ideal utilization is when the number of simultaneously running CPUs is between 86-100% of the target CPU utilization.
CPU Utilization vs. Thread Efficiency
- The concurrency level is higher than the number of available cores (oversubscription) and, thus, reaching this level of CPU utilization is not possible. Generally, large oversubscription negatively impacts the application performance since it causes excessive context switching.
- There was a period when the profiled process was swapped out. Thus, while it was not logically waiting, it was not scheduled for any CPU either.