电源管理调节器单独从省电模式变为性能模式

电源管理调节器单独从省电模式变为性能模式

所以,我的 HP Envy 15 出现了过热问题,这让我很抓狂。请参阅以供参考。

无论如何,我全新安装了 Ubuntu 18.04。还安装了tlpcpufrequtils因此,如果我这样做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

到目前为止,一切都很好。

有两件事引起了我的注意:

  1. 如果我再次开始使用我的笔记本电脑,不知道为什么,但时不时地会tlp stat -p再次显示scaling_governor=performance
  2. 为什么scaling_min_freqscaling_max_freq相等?我想减少它们两个,看看是否能以某种方式控制我面临的过热问题。

我该如何避开performance调控器?我该如何调整minmax缩放?

谢谢!

卢卡斯

答案1

强制powersave调速

您用来sudo tlp stat -p查找速度调节器何时设置为performance模式。发生这种情况时,请powersave使用以下命令将其重置为:

$ echo "powersave" | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
powersave

再次运行tlp统计并确保最小频率标准化并且不再设置为最大频率。

继续运行tlp以了解调速器重置performance模式的频率。

继续搜索正在重置速度调节器的程序。

作为最后的手段,你可以:

  1. 设置睡眠程序,powersave每 x 秒重置一次。
  2. 设置一个程序,每秒监控调速器一次,并在其发生变化时重置。

答案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

相关内容