我正在尝试通过编辑以下内容将我的 CPU 中的两个核心设置为用户空间调控器:
/sys/设备/系统/cpu/cpu0/cpufreq/scaling_governor
和
/sys/设备/系统/cpu/cpu1/cpufreq/scaling_governor
成为userspace
。
但半分钟后,“cpu0”文件的内容自动变回“performance”,并经常在“performance”和“powersave”之间跳转,而“cpu1”文件的内容仍为“userspace”。
$ cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
userspace
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
powersave
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
performance
我想知道
- 为什么“cpu0”文件会自动编辑回来,
- 如果这意味着由于某种原因手动修改其内容是不好的?
- 无论如何手动将其内容更改为“用户空间”?
感谢致敬!
答案1
您通常不会手动将其设置为用户空间;您运行用户空间调控器并由其接管。您想要运行哪个用户空间调控器以及为什么?
至于为什么它不断地变回原样,一定是您正在运行另一个正在改变它的程序。
答案2
所以你的问题是如何手动更改所有 CPU 以使其以特定缩放频率运行?如果是这样,我有 2 个选项供你选择。
1 — 更改系统启动后将初始 CPU 频率设置为“your_choice”的“/etc/init.d/ondemand”文件。默认情况下,Ubuntu 使用此文件选择将您的 CPU 设置为按需频率。要更改此设置,请打开文件并查找代码:
echo -n ondemand > $CPUFREQ
您只需将“ondemand”一词更改为您选择的词,例如,我使用“conservative”来减少 CPU 的热量。我的代码如下所示:
echo -n conservative > $CPUFREQ
另外,如果您注意到我们所选代码上方的 3 行,上面写着“sleep 60”。这只是意味着您的计算机启动 60 秒后它将执行此文件并更改 CPU 频率。
2 — 参考“/etc/init.d/ondemand”文件,您可以通过终端命令手动更改 CPU 频率。如果您不想重新启动计算机,这是一个很棒的命令。在桌面上的某个位置创建一个空文件,并用以下内容填充它:
#!/bin/sh
for CPUFREQ in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
do
[ -f $CPUFREQ ] || continue
echo -n conservative > $CPUFREQ
done
确保将频率更改为您想要的频率,您所要做的就是打开终端并输入(不带引号)“sudo sh name_of_file”。输入您的密码,您就大功告成了!