LinuxCommandLibrary

auto-cpufreq

Automatically optimize CPU frequency scaling for power

TLDR

Run auto-cpufreq in a specific mode

$ sudo auto-cpufreq --[monitor|live|update|remove|stats|force=governor]
copy

SYNOPSIS

auto-cpufreq [OPTION]…

PARAMETERS

--install, -i
    Install daemon and systemd service/timer (requires sudo)

--daemon, -d
    Start daemon manually without systemd (requires sudo)

--stats, -s
    Display live daemon statistics and monitoring data

--live-mode, -l
    Enable temporary live mode with daemon + turbo (requires sudo)

--matryoshka, -m
    Toggle matryoshka turbo boost mode (requires sudo)

--remove, -r
    Remove daemon and systemd service/timer (requires sudo)

--help, -h
    Show command help and usage

--version, -V
    Display version information

DESCRIPTION

auto-cpufreq is an open-source daemon designed to optimize CPU frequency scaling and power consumption on Linux systems, particularly laptops. It continuously monitors CPU usage, load average, and temperatures to dynamically switch between CPU governors like powersave and performance, enabling or disabling turbo boost as needed. This results in improved battery life during idle or light loads while delivering full performance for demanding tasks.

The tool supports Intel and AMD processors, integrating with kernel cpufreq drivers. Key features include a lightweight monitoring loop (default 0.5s interval), optional temperature-based throttling, and matryoshka mode for per-core turbo adjustments on newer Intel CPUs. It can run as a systemd service for automatic startup or in live mode for testing without permanent installation.

Unlike static tools like TLP, auto-cpufreq is proactive and adaptive. Stats command provides real-time insights into governor changes, turbo status, and savings estimates. Ideal for users seeking hassle-free power management without manual tweaks.

CAVEATS

Requires root for daemon operations; needs kernel cpufreq support; potential conflicts with other tuners like TLP; test in live-mode first; not for servers or desktops without battery concerns.

MONITORING INTERVAL

Default 0.5s loop; customizable via config file at /etc/auto-cpufreq.conf.

CONFIG FILE

Edit /etc/auto-cpufreq.conf for governor settings, temp limits, turbo ratios.

HISTORY

Developed by Adnan Hodzic starting 2020; hosted on GitHub (AdnanHodzic/auto-cpufreq). Evolved from manual scripts to full daemon with systemd integration. Active updates for new CPUs, matryoshka support (Intel 14th gen+), and improved monitoring. Widely used in Linux distros like Ubuntu, Fedora for laptop optimization.

SEE ALSO

cpupower(1), tlp(8), powertop(8), cpufrequtils(8)

Copied to clipboard