首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使cpupower更改持久

使cpupower更改持久
EN

Unix & Linux用户
提问于 2020-05-24 16:09:33
回答 1查看 2.4K关注 0票数 3

我一直在摆弄电源管理,我找不到一种方法来做出我想要的持续的改变。例如,我使用以下命令设置了最大cpu频率:

代码语言:javascript
复制
sudo cpupower frequency-set --max 2GHz

但是,在每次重新启动时,该值都会返回到它的原始值。是否有一种标准的方法使此更改持久?我读过关于内核模块的文章,但不知道它们是如何工作的.有谁可以帮我?

请注意。我的机器正在运行Ubuntu 20.04。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2020-05-30 13:25:05

CPU频率缩放的Arch Wiki页面提出了几种在cpupower持久性中执行更改的不同方法。

  • 正如您所提到的,其中之一就是添加一个内核模块。但还有其他更简单的选择应该更容易。更简单的是启用cpufreq的S systemd服务,就像Arch中所建议的那样。

sudo systemctl enable cpupower

每次你启动机器的时候服务都会启动。我现在没有在带有systemd的机器上运行,所以我不能执行任何测试。

  • 第二个选项是添加一个udev规则。我现在已经测试过这个了,它运行得很好。只需编辑名为/etc/udev/rules.d/50-scaling-governor.rules或类似的文件(如果它不存在就创建它),并向其中添加以下内容:

SUBSYSTEM=="module", ACTION=="add", KERNEL=="acpi_cpufreq", RUN+="/bin/sh -c 'echo 2000000 | tee /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq'"

这将将CPU0的最大频率更改为写入的值。在您的例子中,2000000或2.0 GHz。要对计算机中的每个CPU执行相同的操作,只需将前面的命令更改为

SUBSYSTEM=="module", ACTION=="add", KERNEL=="acpi_cpufreq", RUN+="/bin/sh -c 'echo 2000000 | tee /sys/devices/system/cpu/cpu*[0-9]/cpufreq/scaling_max_freq'"

这将改变系统中每个CPU的最大频率。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/588674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档