Optimize battery life and computing power with auto-cpufreq

Clock Speed

Article from Issue 246/2021

In Linux, the governor controls the CPU clock speed and power management. A tool called auto-cpufreq switches governors automatically to optimize battery runtime and computing power.

Modern CPU cores do not run constantly at the maximum possible clock speed, but instead, are capable of scaling the computing power up or down in defined steps as needed in order to save energy. On Linux, this task is performed by the CPU Frequency Scaling system (cpufreq) [1], which is built into the kernel.

Several different approaches or philosophies exist for how to accelerate the system. Is it better to immediately ramp up the clock speed to the max for a computing task, or should the system gradually increase the computing power? The CPU needs a large amount of energy at the highest clock speed, but, when it is running at a high speed, it completes the computing task more quickly, so that the CPU can go back to sleep. In contrast, the system often works more efficiently in power-saving mode, which reduces the heat loss, but the CPU has to compute for a longer time and can't go to sleep until the task is complete.

Linux deals with the conflicting goals of balancing computing performance, efficient power-saving functions, and comfortable responsiveness using six different cpufreq governors. Each of these governors uses a different algorithm for managing the CPU frequency. The governor decides when the CPU runs at what speed and sets a maximum limit. The governor options include:


Use Express-Checkout link below to read the full article (PDF).

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus

Direct Download

Read full article as PDF:

Price $2.95