auto-cpufreq
Automatically optimize CPU frequency scaling for power
TLDR
Run auto-cpufreq in a specific mode
SYNOPSIS
auto-cpufreq [OPTIONS] [COMMAND]
Examples:
auto-cpufreq --install
auto-cpufreq --stats
auto-cpufreq --monitor
auto-cpufreq --force
auto-cpufreq --leave-awake
PARAMETERS
--install
Installs and enables the auto-cpufreq system service to run automatically.
--remove
Uninstalls and disables the auto-cpufreq system service.
--stats
Displays current CPU frequency, governor, and power statistics in a snapshot.
--monitor
Provides a real-time, interactive monitor of CPU core frequencies, temperatures, and power states.
--force
Forces auto-cpufreq to apply its optimizations immediately, overriding any current state.
--config
Opens the configuration file for editing (typically /etc/auto-cpufreq.conf).
--status
Checks the operational status of the auto-cpufreq system service.
--leave-awake
Prevents the system from entering deeper idle power states, maintaining maximum performance.
--debug
Enables verbose debug output for detailed troubleshooting information.
--version
Shows the installed auto-cpufreq version.
--help
Displays the command's usage instructions and available options.
DESCRIPTION
auto-cpufreq is an open-source command-line utility and daemon for Linux systems designed to optimize CPU frequency scaling and power consumption. It intelligently monitors the system's power source (AC or battery) and CPU load, dynamically adjusting the CPU governor and frequency to achieve a balance between performance and power efficiency.
When on battery, it prioritizes power saving, potentially setting lower frequencies and using conservative governors. When on AC power, it can shift towards higher performance while still being mindful of heat and unnecessary power draw. It aims to prevent overheating, extend battery life, and ensure responsive system performance, acting as a "set-and-forget" solution for CPU management. It leverages existing kernel facilities like cpufreq governors and works across various CPU architectures.
CAVEATS
auto-cpufreq typically requires the msr kernel module and sometimes intel_pstate to be enabled for full functionality on Intel CPUs. It might conflict with other power management utilities (e.g., TLP, PowerTOP) if not configured carefully; it's generally recommended to choose one primary power management tool to avoid conflicts. Over-aggressive power saving on certain workloads might lead to minor performance dips. Its effectiveness can vary based on CPU architecture and specific kernel version.
CONFIGURATION FILE
auto-cpufreq uses a configuration file (typically /etc/auto-cpufreq.conf) where users can fine-tune its behavior. This includes setting specific CPU governors for AC/battery mode, defining minimum/maximum frequencies, or blacklisting certain CPU cores. This allows for advanced customization to tailor its operation to specific user needs and hardware.
SYSTEMD INTEGRATION
The core optimization functionality of auto-cpufreq runs as a systemd service, ensuring that optimizations are applied automatically at boot and persist throughout the system's uptime. This integration provides a 'set-and-forget' approach, making it convenient for users who prefer an automated solution to CPU power management without manual intervention.
HISTORY
auto-cpufreq was developed by Adnan Hodzic, with initial releases around 2018-2019. It emerged as a solution for automated and dynamic CPU frequency scaling on Linux, particularly for laptops. The motivation was to provide better out-of-the-box battery life and performance management compared to manual governor adjustments or other tools requiring more complex setup. Its development has focused on ease of use, broad hardware compatibility, and intelligent adaptive behavior.
SEE ALSO
cpufreq-info(1), cpupower(1), tlp(8), powertop(8), systemctl(1)