先检查/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors是否含performance,再用cpupower frequency-info确认驱动与策略,最后以watch -n1 'grep "cpu mhz" /proc/cpuinfo'验证实时频率。

直接写 scaling_governor 文件就能生效,但必须确认当前 CPU 支持 performance,且没被驱动或 BIOS 锁死。
怎么确认当前系统支持 performance 调频器
不是所有 CPU 都能用 performance,尤其在 ARM 平台、虚拟机或某些 BIOS 设置下它可能根本不在可用列表里。
- 运行
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors—— 输出为空或只有userspace,大概率是intel_pstate驱动已启用但 BIOS 关了 C-states,或 acpi-cpufreq 没加载 - Intel 新 CPU(启用了
intel_pstate)通常只显示performance powersave;老平台用acpi-cpufreq才可能看到ondemand、conservative等 - 如果输出里没有
performance,临时切换会报Invalid argument,这不是权限问题,是内核根本不认这个值
临时切换到 performance 模式(立即生效,重启失效)
写入操作必须对每个在线 CPU 核心单独执行,不能只改 cpu0 就以为全好了。
在无 root/sudo 权限的环境(云容器、VPS、隔离主机)中安装并配置 OpenClaw 浏览器工具的 headless Chrome。适用场景:...
- 单核设置(验证用):
echo performance | sudo tee /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - 批量设置所有在线核心:
for i in /sys/devices/system/cpu/cpu[0-9]*/cpufreq/scaling_governor; do echo performance | sudo tee "$i" 2>/dev/null; done(加2>/dev/null是跳过离线核心或报错核心) - 写错名字、目标文件不存在、或该核心不支持该 governor,都会返回
Invalid argument,不是权限不够,别反复加sudo
让 performance 设置开机自动生效
靠改 /etc/default/cpufrequtils 或 systemd 服务都行,但要注意发行版差异和驱动类型。
- Debian/Ubuntu 系统(用
cpufrequtils):安装后编辑/etc/default/cpufrequtils,写入GOVERNOR="performance",然后运行sudo systemctl restart cpufrequtils - RHEL/CentOS(用
cpupower):运行sudo cpupower frequency-set -g performance,再用 systemd 服务封装(比如cpupower.service),否则重启就回默认 - 更通用的 systemd 方案(兼容性最强):创建
/etc/systemd/system/cpu-performance.service,ExecStart里用 shell 循环写所有cpu*/cpufreq/scaling_governor,After=multi-user.target,启用并启动服务 - 注意:
sysfsutils的/etc/sysfs.conf在较新内核上可能不生效,尤其当intel_pstate主导时,它只管 acpi-cpufreq 接口
为什么设了 performance 却没跑满最高频率
常见于服务器或云环境,表面设置了,实际频率仍卡在基频——不是命令错了,是底层约束没破除。
- BIOS 中启用了 “Energy Efficient Turbo” 或 “Turbo Boost Lock”,即使
performance模式,高负载时也不会上到标称最大睿频 - 容器或云主机(如 AWS EC2、阿里云 ECS)中,宿主机已接管频率控制,客户机写
scaling_governor会被忽略,cpupower frequency-info显示的也是宿主策略 -
intel_pstate启用状态下,ondemand等传统 governor 默认不可用;强行启用需加内核参数intel_idle.max_cstate=1 intel_pstate=disable,但会丢掉深度休眠和睿频能力,不推荐 - 用
watch -n1 'grep \"cpu MHz\" /proc/cpuinfo'观察实时频率,比只看scaling_governor值更可靠
真正麻烦的不是设不设得上 performance,而是设上了却不知道它被 BIOS、驱动或宿主机静默覆盖。先查 scaling_available_governors,再看 frequency-info 输出的 driver 和 current policy,最后用实时频率验证,三步缺一不可。










