![电源管理调节器单独从省电模式变为性能模式](https://linux22.com/image/903896/%E7%94%B5%E6%BA%90%E7%AE%A1%E7%90%86%E8%B0%83%E8%8A%82%E5%99%A8%E5%8D%95%E7%8B%AC%E4%BB%8E%E7%9C%81%E7%94%B5%E6%A8%A1%E5%BC%8F%E5%8F%98%E4%B8%BA%E6%80%A7%E8%83%BD%E6%A8%A1%E5%BC%8F.png)
所以,我的 HP Envy 15 出现了过热问题,这让我很抓狂。请参阅这和这以供参考。
无论如何,我全新安装了 Ubuntu 18.04。还安装了tlp
。cpufrequtils
因此,如果我这样做tlp stat -p
...
+++ Processor
CPU model = Intel(R) Core(TM) i7-4510U CPU @ 2.00GHz
[....]
/sys/devices/system/cpu/cpu3/cpufreq/scaling_driver = intel_pstate
/sys/devices/system/cpu/cpu3/cpufreq/scaling_governor = performance
/sys/devices/system/cpu/cpu3/cpufreq/scaling_available_governors = performance powersave
/sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq = 3100000 [kHz]
/sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq = 3100000 [kHz]
/sys/devices/system/cpu/intel_pstate/min_perf_pct = 25 [%]
/sys/devices/system/cpu/intel_pstate/max_perf_pct = 100 [%]
/sys/devices/system/cpu/intel_pstate/no_turbo = 0
/sys/devices/system/cpu/intel_pstate/turbo_pct = 50 [%]
/sys/devices/system/cpu/intel_pstate/num_pstates = 24
现在,因为我想使用powersave
调速器,按照这,我就可以使用它。
+++ Processor
CPU model = Intel(R) Core(TM) i7-4510U CPU @ 2.00GHz
[....]
/sys/devices/system/cpu/cpu3/cpufreq/scaling_driver = intel_pstate
/sys/devices/system/cpu/cpu3/cpufreq/scaling_governor = powersave
/sys/devices/system/cpu/cpu3/cpufreq/scaling_available_governors = performance powersave
/sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq = 3100000 [kHz]
/sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq = 3100000 [kHz]
/sys/devices/system/cpu/intel_pstate/min_perf_pct = 25 [%]
/sys/devices/system/cpu/intel_pstate/max_perf_pct = 100 [%]
/sys/devices/system/cpu/intel_pstate/no_turbo = 0
/sys/devices/system/cpu/intel_pstate/turbo_pct = 50 [%]
/sys/devices/system/cpu/intel_pstate/num_pstates = 24
到目前为止,一切都很好。
有两件事引起了我的注意:
- 如果我再次开始使用我的笔记本电脑,不知道为什么,但时不时地会
tlp stat -p
再次显示scaling_governor=performance
。 - 为什么
scaling_min_freq
和scaling_max_freq
相等?我想减少它们两个,看看是否能以某种方式控制我面临的过热问题。
我该如何避开performance
调控器?我该如何调整min
和max
缩放?
谢谢!
卢卡斯
答案1
强制powersave
调速
您用来sudo tlp stat -p
查找速度调节器何时设置为performance
模式。发生这种情况时,请powersave
使用以下命令将其重置为:
$ echo "powersave" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
powersave
再次运行tlp
统计并确保最小频率标准化并且不再设置为最大频率。
继续运行tlp
以了解调速器重置performance
模式的频率。
继续搜索正在重置速度调节器的程序。
作为最后的手段,你可以:
- 设置睡眠程序,
powersave
每 x 秒重置一次。 - 设置一个程序,每秒监控调速器一次,并在其发生变化时重置。
答案2
这个答案针对的是你的第二个问题:
为什么 scaling_min_freq 和 scaling_max_freq 相等?我想降低它们两个,看看是否能以某种方式控制我面临的过热问题。
我不知道它们是如何设置为相同的,但一定有什么东西做到了。要限制最大 CPU 频率,当使用 intel_pstate CPU 频率缩放驱动程序时,一种方法是(例如到 70%):
$ echo 70 | sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct
例子:
doug@s15:~/temp$ grep . /sys/devices/system/cpu/intel_pstate/*
/sys/devices/system/cpu/intel_pstate/max_perf_pct:100
/sys/devices/system/cpu/intel_pstate/min_perf_pct:42
/sys/devices/system/cpu/intel_pstate/no_turbo:0
/sys/devices/system/cpu/intel_pstate/num_pstates:23
/sys/devices/system/cpu/intel_pstate/status:active
/sys/devices/system/cpu/intel_pstate/turbo_pct:18
doug@s15:~/temp$ echo 70 | sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct
70
doug@s15:~/temp$ grep . /sys/devices/system/cpu/intel_pstate/*
/sys/devices/system/cpu/intel_pstate/max_perf_pct:70
/sys/devices/system/cpu/intel_pstate/min_perf_pct:42
/sys/devices/system/cpu/intel_pstate/no_turbo:0
/sys/devices/system/cpu/intel_pstate/num_pstates:23
/sys/devices/system/cpu/intel_pstate/status:active
/sys/devices/system/cpu/intel_pstate/turbo_pct:18