LinuxCommandLibrary

powerprofilesctl

Control system power profiles

TLDR

List available power profiles

$ powerprofilesctl list
copy

Set a specific power profile
$ powerprofilesctl set [profile_name]
copy

SYNOPSIS

powerprofilesctl [OPTIONS] COMMAND [ARGUMENTS]

Commands:
list
get
set <profile_name>

PARAMETERS

list
    Lists all available power profiles and indicates the currently active one.

get
    Displays the name of the currently active system power profile.

set <profile_name>
    Sets the system's power profile to the specified <profile_name>. Valid profile names can be found using the list command.

-r, --recursive
    (Used with set) Attempts to apply the chosen power profile recursively to all supported hardware components, such as CPU and GPU, if the profile and underlying drivers support it. This might offer deeper power optimizations or performance boosts.

-h, --help
    Displays a help message for the command and exits.

-V, --version
    Prints the version information of powerprofilesctl and exits.

DESCRIPTION

powerprofilesctl is a command-line utility used to query and control the power profiles of a Linux system. It acts as an interface to the power-profiles-daemon, a key component that standardizes how power settings are managed across diverse hardware configurations. Through powerprofilesctl, users can easily switch between predefined power modes such as "balanced," "power-saver," and "performance." Each profile intelligently adjusts underlying system parameters, including CPU frequency scaling, power limits, and fan behavior, to optimize for either energy efficiency or maximum computational power. This tool provides a consistent and unified approach to system power management, abstracting complex low-level hardware configurations into simple, user-friendly choices, and is widely integrated into modern desktop environments like GNOME and KDE for a seamless user experience.

CAVEATS

The effectiveness and available profiles of powerprofilesctl depend heavily on the presence and configuration of the power-profiles-daemon service. The actual impact of setting a profile (e.g., changes in CPU speed, fan noise) can vary based on your system's specific hardware and kernel support. The --recursive flag's functionality is also contingent on driver and profile implementation.

INTEGRATION WITH DESKTOP ENVIRONMENTS

This command provides the underlying CLI interface for power profile management often exposed through graphical settings panels in desktop environments like GNOME (under Power settings) and KDE Plasma. This ensures a consistent user experience whether managing power profiles via GUI or command line, as both interfaces interact with the same underlying daemon.

HOW PROFILES WORK

Power profiles abstract complex low-level power management settings. When a profile is set, the power-profiles-daemon communicates with kernel drivers (e.g., intel_pstate, amd_pstate, cpufreq) and other hardware-specific services to adjust parameters like CPU governor, maximum frequency, power limits, and potentially GPU clock speeds or fan curves. The specific parameters adjusted depend on the profile's intent (e.g., "power-saver" prioritizes efficiency, "performance" prioritizes speed, and "balanced" aims for a middle ground).

HISTORY

powerprofilesctl is part of the power-profiles-daemon project, which was developed to provide a standardized, D-Bus-based interface for system power profiles. It emerged as a solution to unify power management across different hardware and desktop environments, especially as distributions like Ubuntu and Fedora adopted it. Its development aimed to replace more ad-hoc power management scripts and tools with a robust, consistent framework. The daemon and its control utility, powerprofilesctl, gained prominence in the late 2010s and early 2020s, becoming a core component for modern Linux power management.

SEE ALSO

power-profiles-daemon(8), systemctl(1), upower(1), gnome-control-center(1)

Copied to clipboard