CPU consumption in Unix/Linux operating systems are studied using 8 different metrics: User CPU time, System CPU time, nice CPU time, Idle CPU time, Waiting CPU time, Hardware Interrupt CPU time, Software Interrupt CPU time, Stolen CPU time. In this article let us study about ‘Idle CPU time’.
What is ‘idle’ CPU time?
Idle CPU time is the amount of time the CPU was not busy. Idle time is typically used to measure the unused CPU capacity.
Many operating systems run a special task by name: ‘idle task’ on the CPU when there is nothing for the CPU to do. This idle task is implemented with the lowest possible priority. An advantage of this approach is that monitoring applications can keep track of this idle task along with other tasks.
How to find ‘idle’ CPU time?
Idle CPU time can be found from the following sources:
a. You can use web-based root cause analysis tools like yCrash to report ‘idle’ CPU time. Tool is capable of generating alerts if ‘idle’ CPU time goes beyond the threshold.
b. ‘idle’ CPU time is also reported in the Unix/Linux command line tool ‘top’ in the field ‘id’ as highlighted in the below image.
Fig: ‘idle’ time in top
How to resolve high ‘Idle’ CPU time?
If idle time is consistently high (say > 90%), it indicates that the device’s CPU capacity is underutilized. Given the high cloud computing cost, if your idle CPU time is high, you should consider lowering it. You can do the following to reduce ‘Idle’ CPU time:
- More applications can be launched on that device.
- Traffic volume sent to the application can be throttled higher.