You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GRUB中配置非性能模式的自定义CPU调速器并实现开机持久化固定频率

如何在GRUB中配置非性能模式的自定义CPU调速器并实现开机持久化固定频率

我完全懂你的需求——就是想把CPU钉在一个不是最高的固定频率上(比如你选的1900000,看你写的19GHz应该是笔误啦,实际是1.9GHz对吧?),而且不想每次开机都手动调整,要这个设置一开机就自动生效。下面我给你一步步说清楚怎么操作:

一、先确认你的系统已经支持userspace调速器

你之前用CPU Frequency Scaling Monitor设置后,已经看到所有核心的调速器都是userspace,这说明你的系统已经能正常使用这个调速器了。不过保险起见,你可以再跑两个命令确认下:

  • 查看所有核心支持的调速器:cat /sys/devices/system/cpu/cpufreq/policy*/scaling_available_governors,输出里肯定有userspace
  • 再次确认你要的频率在可用列表里:cat /sys/devices/system/cpu/cpufreq/policy*/scaling_available_frequencies,你选的1900000应该在里面

二、通过GRUB配置确保userspace调速器能正常加载(Intel CPU专属,AMD用户跳过)

如果你的CPU是Intel的,默认可能用的是intel_pstate驱动,这个驱动本身不支持userspace调速器。你现在能用上userspace,说明要么已经禁用了这个驱动,要么你的系统用的是其他驱动。不过为了避免开机后出问题,我们可以在GRUB里加个参数锁死这个设置:

  1. 打开GRUB的配置文件:sudo nano /etc/default/grub
  2. 找到GRUB_CMDLINE_LINUX_DEFAULT这一行,在引号里加上intel_pstate=disable
    • 举个例子,原来的行可能是:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
    • 修改后就变成:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_pstate=disable"
  3. 更新GRUB让修改生效:
    • 如果你用的是Ubuntu、Debian这类系统,跑:sudo update-grub
    • 要是RHEL、CentOS这类,就跑:sudo grub2-mkconfig -o /boot/grub2/grub.cfg

三、创建系统服务,让固定频率开机自动生效

GRUB本身没法直接设置userspace调速器的具体频率,所以我们要做一个systemd服务,让系统一启动就自动把所有核心的调速器设为userspace,再把频率固定到你要的值:

  1. 创建一个新的服务文件:sudo nano /etc/systemd/system/cpu-fixed-frequency.service
  2. 把下面的内容复制进去,注意把1900000改成你实际想要的频率值(比如你选的那个1900000):
[Unit]
Description=Set CPU to fixed frequency using userspace governor
After=multi-user.target

[Service]
Type=oneshot
ExecStart=/bin/bash -c '
for cpu in /sys/devices/system/cpu/cpufreq/policy*; do
    echo userspace > $cpu/scaling_governor
    echo 1900000 > $cpu/scaling_setspeed
done
'
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
  1. 保存并退出nano:按Ctrl+O,回车确认保存,再按Ctrl+X退出
  2. 启用这个服务,让它开机自动运行:sudo systemctl enable cpu-fixed-frequency.service
  3. 现在可以先测试一下,不用重启,直接运行:sudo systemctl start cpu-fixed-frequency.service
    • 然后检查调速器:cat /sys/devices/system/cpu/cpufreq/policy*/scaling_governor,应该全是userspace
    • 再检查频率:cat /sys/devices/system/cpu/cpufreq/policy*/scaling_cur_freq,应该全是你设置的1900000

四、验证持久化效果

现在重启你的电脑,开机后再跑上面的检查命令,要是所有核心的调速器还是userspace,频率也正好是你要的那个值,就说明这个设置已经完全持久化了,以后开机都不用管啦。

备注:内容来源于stack exchange,提问作者Eric Marceau

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 07:34:33