驱动是什么
intel_pstate 是 Intel 平台上的 CPU 调频驱动,取代通用层的 acpi-cpufreq。在支持 HWP(Hardware P-state)的处理器上它默认以 active 模式工作:内核只向处理器传递性能偏好,实际频点由硬件自主决定,因此 governor 被简化为 performance 与 powersave 两档,更细的功耗/延迟权衡交给 EPP(energy_performance_preference)档位。被动模式下才回退到 ondemand、conservative 这类传统策略。
基本信息
| 适用平台 | Intel x86_64 服务器/桌面,内核自带驱动 |
|---|---|
| 确认驱动 | cpupower frequency-info 的 driver 行 |
| 模式文件 | /sys/devices/system/cpu/intel_pstate/status(active / passive) |
| active 下 governor | 仅有 performance 与 powersave 两档 |
| EPP 档位 | performance、balance_performance、default、balance_power、power |
| EPP 设置位置 | /sys/devices/system/cpu/cpu<N>/cpufreq/energy_performance_preference(逐核) |
典型使用场景
- 延迟敏感服务:把 EPP 调向 performance,降低频率爬升延迟带来的尾延迟波动
- 功耗或温度受限的机房/边缘设备:调向 balance_power/power,控制封装功耗与风扇转速
- 验证是否达到标称频率:与 turbostat 配合看实测 Bzy_MHz 与标称 TSC_MHz 的差距
- 排查老教程失效:active 模式下找不到 ondemand governor,需要改用 EPP 口径调优
- 虚机环境确认:guest 通常没有 HWP,调频接口行为与裸机不同
查看与调整
查看与调整
cpupower frequency-info # 看 driver、governor 与可用频率范围
cat /sys/devices/system/cpu/intel_pstate/status # active 表示 HWP 接管
cat /sys/devices/system/cpu/intel_pstate/no_turbo # 1 表示已禁用睿频
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor # active 下通常只有 performance/powersave
echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/energy_performance_preference # 全核设性能偏好
cat /sys/devices/system/cpu/cpu0/cpufreq/energy_performance_preference # 复核写入结果
sudo turbostat --interval 2 --show CPU,Busy%,Bzy_MHz,PkgWatt # 用实测频率验证是否生效EPP 档位对照
| 档位 | 倾向 | 适用场景 |
|---|---|---|
| performance | 尽可能拉高频率 | 延迟敏感,接受更高功耗与温度 |
| balance_performance | 偏性能 | 多数在线业务默认选择 |
| default | 由固件/平台决定 | 不确定时的稳妥起点 |
| balance_power | 偏省电 | 负载不重、关注能耗 |
| power | 最低功耗优先 | 功耗受限,可接受更长响应时间 |
active 模式下不存在 ondemand 与 conservative,照搬旧的 governor 教程会「找不到文件」。要调优先确认 status 文件内容,再选对应接口:active 用 EPP,passive 才用传统 governor。
EPP 与 governor 的 sysfs 写入通常是运行期生效,重启或固件更新后可能恢复默认,需要固化时用 systemd 服务、tmpfiles 规则或 cpupower 的配置机制统一设置。