持续的 CPU 节流

持续的 CPU 节流

我喜欢禁用“TurboBoost”并将最大 CPU 速度设置为较低的值。这意味着正在进行的计算将花费更多时间,但另一方面,计算机运行更安静,电池寿命更长,并且每次充电后甚至可以进行更多计算。

我尝试过echo 2000000 >/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq以 root 身份对每个 CPU 核心执行某些操作。但是,如果我重新启动系统,甚至在每个待机周期,此设置都会丢失。

将这些命令放在哪里才能使更改永久生效?如何让无特权用户调用此命令并根据他的需求调整频率?

答案1

TurboBoos 只能在 BIOS 设置中禁用,如果那里没有这样的选项,您就无法禁用 TurboBoost,除非自定义 BIOS ROM。要从控制台更新此类文件中的值,请使用 echo -n 100 > /proc/filename。值通常不存储在任何地方。要允许非 root 执行此操作,请创建一个修改值的脚本,并使用visudo允许访问脚本。

答案2

我发现有一个名为“TLP”的工具集(http://linrunner.de/en/tlp/docs/tlp-linux-advanced-power-management.html) 除了大量其他省电设置外,还可以根据用户的偏好设置交流电和电池使用的最大 CPU 频率。它不是问题的干净解决方案,因为它可以做更多的事情,但其中大多数也很有用...

安装后,可以在 处修改配置/etc/default/tlp。有两个条目:CPU_SCALING_MAX_FREQ_ON_ACCPU_SCALING_MAX_FREQ_ON_BAT。TLP 脚本将使用此处给出的值来设置 CPU 频率限制(取决于是否使用电池),并且它也会在挂起和待机后恢复这些值。使用 可以立即激活对配置的更改sudo tlp start

相关内容