我想一次为所有内核设置CPU频率缩放调节器,而不是为每个内核单独设置。有没有办法做到这一点?
(我知道将州长回显到会很容易/sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
,但是我不是在寻找自定义解决方案。)
我想一次为所有内核设置CPU频率缩放调节器,而不是为每个内核单独设置。有没有办法做到这一点?
(我知道将州长回显到会很容易/sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
,但是我不是在寻找自定义解决方案。)
Answers:
我仍然是Linux菜鸟,但是您不认为cpufrequtils可以让您通过使用它来实现(它没有捆绑在Ubuntu OS中,但是在存储库中)
sudo apt-get install cpufrequtils
sudo cpufreq-set -r -g performance
-r
标志用于设置所有(“与硬件相关的所有”)内核的更改cpufreq-set
实际上缺少最终的简单但需要的功能。投票计数器清楚地表明,很多人只是不知道它,因为它的描述只是在误导它。
自从Ubuntu 16.04或更早版本开始,调速器默认在30秒钟后默认返回节能状态,我将其设置为固定状态(我使用Ubuntu Mate);
放入此代码(一行)(谢谢,感谢上一个答案中的switch87)
sleep 60 && bash -c 'for i in {0..7}; do cpufreq-set -c $i -g performance; done'
进入目录中的文件
/etc/rc.local
我的是“ exit 0”上方的一行,未注释,在注释的下方。
对于那些不知道的人,“ rc.local”以sudo的身份运行命令。似乎要更改调速器的任何命令都需要以sudo运行。
它使调速器重置为省电模式,并在60秒后以sudo的身份运行代码以将其恢复为性能。
将“ 60”(在您复制的代码中)更改为所需的任何时间(以秒为单位。60 = 60秒= 1分钟),您需要将命令延迟,并将“性能”(在命令部分中)延迟到所需的调控器改成。
经过数小时的搜索,我没有找到比这更永久的解决方案。我认为如果这是我找到的最佳解决方案,那么节电大约需要几分钟,对吗?对。
这不是最好的解决方案,但是它使它在永久保存后变得有点永久性。如果您想直接启动并跳入游戏或需要等待一分钟的代码,则只需输入一小段时间即可将其从省电模式切换回去,或缩短其时间(取决于所需的时间)一切都可以启动,因此它将正确切换回性能)。
而且,像往常一样,要恢复为默认设置(我已经看到人们的PC过热存在一些问题,这就是为什么他们可能默认将其默认设置为省电的原因),只需从rc.local中删除代码,然后重新启动或将其切换回使用cpu图标指示器切换器手动运行或运行;
sudo /etc/init.d/cpufrequtils restart
在终端或重启。
根据switch87的答案,我做了一个简单的脚本cpufreq-set-all
,该脚本可以对cpufreq-set
所有CPU 进行其他操作:
#!/bin/bash
MAX_CPU=$((`nproc --all` - 1))
for i in $(seq 0 $MAX_CPU); do
echo "Changing CPU " $i " with parameter "$@;
cpufreq-set -c $i $@ ;
done
现在可以chmod +x
像这样调用(当然在after之后):
cpufreq-set-all -g powersave
要么
cpufreq-set-all -f 800Mhz