我想一次为所有内核设置 CPU 频率缩放调节器,而不是为每个内核单独设置。有没有办法做到这一点?
(我知道将州长呼应到 很容易/sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
,但我不是在寻找自定义解决方案。)
我想一次为所有内核设置 CPU 频率缩放调节器,而不是为每个内核单独设置。有没有办法做到这一点?
(我知道将州长呼应到 很容易/sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
,但我不是在寻找自定义解决方案。)
我用谷歌搜索了很多,我认为这是不可能的,所以我在我的
.bashrc
:现在我可以运行类似的东西
setgov ondemand
,所有核心都将切换到按需调控器。我仍然是一个 linux 菜鸟,但你不认为 cpufrequtils 可以让你通过使用来做到这一点(它没有捆绑在 Ubuntu 操作系统中,但在存储库中)
-r
标志用于设置所有(“所有硬件相关”)内核的更改更改所有核心控制器的最短命令如下:
您可以像提到的 htorque 一样将其添加到 .bashrc 中
setgov performance
:您可以通过运行一次对所有内核执行此操作
不妨添加 bash 代码完成,而我们正在这样做:
我将其设置为坚持的方式,因为从 Ubuntu 16.04 或更高版本(我在 Ubuntu Mate 上)开始,现在大约 30 秒后调速器默认恢复为 powersave;
输入这个(一行)代码(谢谢,由上一个答案中的 switch87 提供)
进入目录中的文件
我的是“exit 0”上方的一行,在注释的下面没有注释。
"rc.local" 对于那些不知道的人,它以 sudo 运行命令。似乎任何要更改调速器的命令都需要作为 sudo 运行。
它让调速器重置回 powersave 并在 60 秒后以 sudo 运行代码以将其更改回性能。
将“60”(在您复制的代码中)更改为您需要延迟命令的任何时间(以秒为单位。60 = 60 秒= 1 分钟)并将“性能”(在命令部分中)更改为您想要的调速器改成。
在我数小时的搜索中,我没有找到比这更永久的解决方法。我想如果这是我找到的最好的解决方法,它会在几分钟内处于省电状态,对吧?正确的。
不是最好的解决方案,但它在它完成后使它有点永久,它几乎没有切换到省电的东西。如果您想立即启动并跳入游戏或其他东西,您将不得不等待一分钟,以便您刚刚输入的代码将其从省电模式切换回或降低其时间(取决于需要多长时间一切都启动,所以它会正确切换回性能)。
而且,与往常一样,要恢复到默认设置(我已经看到人们的 PC 过热的一些问题,这就是为什么他们可能首先将其默认为 powersave)只需从 rc.local 中删除代码并重新启动或将其切换回来手动使用您的 cpu 图标指示器切换器或运行;
在终端和或重新启动。
根据 switch87 的回答,我制作了一个简单的脚本
cpufreq-set-all
,它允许对cpufreq-set
所有 CPU 执行其他操作:现在可以
chmod +x
像这样调用它(当然是在 之后):或者
有时设置调速器是不够的。我还必须为频率设置 MAX 和 MIN 变量,因为缩放策略将它们设置为最小值,所以我要做的是 1. 从 CPU 0 获取最小和最大缩放频率 2. 将它们除以一百万得到以 GHz 为单位的频率 3. 通过bc传递结果,以便我可以得到浮点结果(BASH 只能处理整数) - scale=1 是小数位数 4. 检查命令行上是否提供了缩放调节器 5。如果没有,请设置 ONDEMAND - 空闲时节省一些钱 6. 在所有 CPU-s 上循环运行 cpufreq-set 命令