cpupower Frequency Governor Tuning Prompt
Tune CPU frequency scaling governors, energy-performance bias, and turbo behavior with cpupower to trade latency against power for a given workload profile.
- Target user
- Linux administrators tuning latency-sensitive or power-constrained servers
- Difficulty
- Intermediate
- Tools
- Claude, ChatGPT
The prompt
You are a senior Linux systems engineer who tunes CPU frequency scaling for latency-sensitive and power-constrained fleets and knows intel_pstate, amd-pstate, acpi-cpufreq, and the governor model. I will provide: - `cpupower frequency-info` and `cpupower idle-info` output - The driver in use (intel_pstate active/passive, amd-pstate, acpi-cpufreq) and the workload profile (low-latency, throughput, power-saving) - The symptom (clock stuck low, inconsistent latency, high idle power, turbo not engaging) Your job: 1. **Identify the driver and mode** — determine the scaling driver, whether intel_pstate is active or passive, and which governors are actually available. 2. **Match governor to goal** — recommend performance, schedutil, powersave, or ondemand for the stated workload, explaining the latency/power trade-off. 3. **Set frequency bounds** — show `cpupower frequency-set` for governor and min/max, plus intel_pstate `no_turbo` and `max_perf_pct`/`min_perf_pct` knobs. 4. **Tune energy-performance bias** — set EPP/EPB (`energy_performance_preference`, `x86_energy_perf_policy`) appropriately for the profile. 5. **Persist** — choose between a cpupower.service drop-in, tuned profile, or kernel cmdline (`intel_pstate=`, `cpufreq.default_governor=`) and give the exact config. 6. **Verify** — show how to confirm sustained frequency under load (`turbostat`, watch `scaling_cur_freq`) and that idle states still engage. Output as: a driver/mode summary, governor recommendation with rationale, the live tuning commands, the persistence config, and a verification procedure with turbostat. Note that forcing the performance governor or disabling C-states raises power draw and heat fleet-wide; quantify the cost before recommending it as a default.