如何在 Linux 上设置热节流最低 CPU 时钟?

如何在 Linux 上设置热节流最低 CPU 时钟?

我的 Thinkpad T420 配备 Core i7 和 Nvidia Quadro,热节流问题严重。节流开始时,我收到内核消息:

[42544.677294] [Hardware Error]: Machine check events logged
[42672.480582] CPU3: Package temperature above threshold, cpu clock throttled (total events = 1023)
[42672.480587] CPU0: Package temperature above threshold, cpu clock throttled (total events = 1023)
[42672.480591] CPU2: Package temperature above threshold, cpu clock throttled (total events = 1023)
[42672.480594] CPU1: Package temperature above threshold, cpu clock throttled (total events = 1023)

最近我开始玩游戏时,这个问题真的让我很烦。几分钟后,游戏就无法玩了。我在限制最大时钟频率后部分解决了这个问题:

for i in 0 1 2 3; do echo 2000000 > /sys/devices/system/cpu/cpu$i/cpufreq/scaling_max_freq;done

但是,当节流自动启动时,它会将时钟设置为仅 800Mhz,我确信 1.6Ghz 足以冷却 CPU。有什么想法可以将节流设置为最低时钟吗?

答案1

您将需要制作一些脚本来重新调整手头任务的电源设置。

我有一个针对 2400MHz、1600MHz、800MHz - 2200MHz 和 800MHz 的脚本

sudo cpufreq-set -g conservative -d 1600MHz -u 1600MHz -c 0
sudo cpufreq-set -g conservative -d 1600MHz -u 1600MHz -c 1
sudo cpufreq-set -g conservative -d 1600MHz -u 1600MHz -c 2
sudo cpufreq-set -g conservative -d 1600MHz -u 1600MHz -c 3
sudo cpufreq-set -g conservative -d 1600MHz -u 1600MHz -c 4
sudo cpufreq-set -g conservative -d 1600MHz -u 1600MHz -c 5
sudo cpufreq-set -g conservative -d 1600MHz -u 1600MHz -c 6
sudo cpufreq-set -g conservative -d 1600MHz -u 1600MHz -c 7

您需要事先安装 cpufreq-set:

sudo apt-get install cpufrequtils

相关内容