Ubuntu 20.04下正确禁用CPU频率缩放的方法咨询
Ubuntu 20.04下正确禁用CPU频率缩放的方法咨询
看起来你已经完成了基础的配置步骤,但因为你的CPU使用的是intel_pstate驱动,这个驱动的performance governor行为和传统cpufreq驱动有所不同——默认情况下它依然可能会降低CPU频率,这就是为什么你看到governor已设置为performance,但实际频率还是停在800MHz的原因。下面给你分步解决的正确方法:
第一步:确认intel_pstate驱动状态
先验证你的系统确实在使用intel_pstate驱动:
cat /sys/devices/system/cpu/intel_pstate/status
如果输出是active,说明当前驱动是intel_pstate,接下来按下面的方法调整。
第二步:临时强制CPU保持最高频率(立即生效,重启后失效)
执行以下命令,把CPU性能百分比下限设为100%,这样performance governor就会强制CPU运行在最高频率:
echo 100 | sudo tee /sys/devices/system/cpu/intel_pstate/min_perf_pct
执行后再用cpufreq-info检查,应该能看到当前CPU频率已经升到4.10GHz了。
第三步:设置永久生效的配置
有两种常用方法可以让设置永久生效,选其中一种即可:
方法一:修改GRUB内核参数(推荐)
- 编辑GRUB配置文件:
sudo nano /etc/default/grub
- 找到
GRUB_CMDLINE_LINUX_DEFAULT这一行,在引号内添加intel_pstate=performance,修改后类似:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_pstate=performance"
- 更新GRUB配置:
sudo update-grub
- 重启系统后,CPU就会一直保持最高频率运行。
方法二:通过systemd服务自动设置min_perf_pct
如果不想修改GRUB,可以创建一个systemd服务来开机自动设置参数:
- 创建服务文件:
sudo nano /etc/systemd/system/cpufreq-max.service
- 写入以下内容:
[Unit] Description=Set CPU maximum performance After=multi-user.target [Service] Type=oneshot ExecStart=/bin/sh -c 'echo 100 > /sys/devices/system/cpu/intel_pstate/min_perf_pct' [Install] WantedBy=multi-user.target
- 启用并启动服务:
sudo systemctl enable cpufreq-max.service sudo systemctl start cpufreq-max.service
重启后设置就会自动生效。
补充说明
如果你之后想恢复默认的频率缩放,只需要:
- 若用的是GRUB方法:把添加的
intel_pstate=performance从GRUB配置中移除,再执行sudo update-grub后重启。 - 若用的是systemd服务:执行
sudo systemctl disable --now cpufreq-max.service即可。
备注:内容来源于stack exchange,提问作者Bilal
相关产品推荐
相关产品推荐

