我花了将近三天的时间来解决这个问题,但无济于事。
我觉得笔记本电脑在某些任务上运行速度很慢,比平时慢,所以我下载了CPU频率扩展尝试监控并直接控制CPU运行频率和功耗。
问题是我总是看到所有 8 个核心的 CPU 频率毫无原因地下降到最小值(800MHz 或 400MHz)。这似乎发生在我需要额外电源时 - 在本地运行代码项目、打开多个浏览器选项卡等。
我正在使用cpufreq
gnome shell 扩展来尝试手动控制这些值,但这似乎没有帮助。无论如何更改,在重启之前和之后,问题似乎都会突然出现,然后又消失。
我在网上研究后尝试过但没有帮助的事情:
- 默认情况下
intel_pstate
使用该驱动程序,但我禁用了它(通过编辑/etc/default/grub
),现在使用acpi driver
- 尝试使用
CPU Power Manager
gnome shell 扩展来以编程方式控制功率/速度 - 此外
cpufreq
,我尝试了所有我能想到的最小-最大频率组合,以及在调速程序之间切换,以及启用/禁用frequency boost
- 我尝试直接为所有 8 个核心设置最大频率,并像这样禁用 ppc:
--echo 1 | sudo dd of=/sys/module/processor/parameters/ignore_ppc
--echo 2900000 | sudo dd of=/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
有什么进一步的想法吗?我真的不知道该怎么办。这使我无法工作,因为我所做的大多数代码开发任务都需要一些马力。即使在 400MHz 上上下滚动文本编辑器也会变得很麻烦,而其他几个程序正在后台运行。
答案1
您可以使用此 bash 脚本将 CPU 设置为最大速度:
创建一个名为 cpumaxspeed.sh 的文件并输入以下代码:
#!/bin/bash
#Getting and setting variables
echo Getting info....
CPUMIN=$(cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq)
CPUMAX=$(cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq)
CPUMAXGHZ=$(echo "scale=1; $CPUMAX / 1000000" | bc)
CPUMINGHZ=$(echo "scale=1; $CPUMIN / 1000000" | bc)
#Display min and max CPU frequency in MHz
echo CPU min frequency: $CPUMIN" MHz" / $CPUMINGHZ" GHz"
echo CPU max frequency: $CPUMAX" MHz" / $CPUMAXGHZ" GHz"
#Setting CPU governor
echo Setting governor to performance
sudo cpufreq-set -r -g performance
echo Set governor to performance
#Setting to max frequency
echo Setting CPU frequency to be $CPUMAX" MHz" / $CPUMAXGHZ" GHz"
sudo cpufreq-set -r -f $CPUMAXGHZ"GHz"
echo Set CPU frequency to $CPUMAXGHZ"GHz"
done
用这个命令执行:
sudo sh cpumaxspeed.sh