zje*_*fer 12 cpu games temperature cpu-frequency intel
使用带有 i7-7700HQ(基本时钟 2.8Ghz)和 GTX 1050 的 Lenovo Legion Y520。
我在 linux 中收到 CPU 过热警告,它影响了我在游戏中的表现(在 Payday 2 和 CS:GO 中找到)。我在 Windows 中从来没有遇到过问题。
这是我在尝试解决此问题时发现的:
在 Windows 10 中(使用 aida64)
Windows 在空闲时保持在 3.4 Ghz 左右(不知道为什么在 CPU 使用率不到 3% 的情况下如此之高),温度在 50C 左右。
当给 CPU 施加压力时,温度会缓慢地(在几秒钟内而不是瞬间)从大约 50C 上升到大约 75C 并舒适地保持在那里。压力时时钟速度约为2.9Ghz。利用率始终为 100%。Aida64 不报告节流。受压时,CPU 内核上的电压从大约 1.1 到 0.9 不等。
在 Arch Linux 中(使用 s-tui)
Linux 在空闲时保持在 2.0Ghz 左右,温度在 50C 左右。
这就是奇怪的地方:当给 CPU 施加压力时,温度会立即从 50C 升至 93C 左右。压力时时钟速度正好是 3.4Ghz。利用率始终为 100%。当关闭压力测试时,温度立即回到 50C 左右,就好像什么都没发生过一样。这样做时,笔记本电脑当然不会感觉它加热到 90C+,即使在长时间压力之后也是如此。
这是一张图片,显示了温度、功率和频率如何同时下降。注意在这么短的时间内 cpu 温度变化了多少。

我该如何解决这个限制问题?在 linux 中我的 CPU 电压低吗?为什么它在 Linux 中读取温度错误,而在 Windows 中却没有?
我使用 cpupower 将配置文件从 powersave 更改为 performance。我仍然在 s-tui 中看到同样的节流。当设置为性能时,空闲 cpu 频率会上升(而不是大约 2000-2500Mhz,始终为 3400Mhz),但这是唯一改变的事情。
风扇控制
我尝试使用fancontrol (lm_sensors)控制风扇,但是 pwmconfig 说没有安装支持 pwm 的传感器模块。
我用NBFC尝试过,但无论我选择什么配置文件,它似乎都没有做任何事情。我什至不知道NBFC是否可以控制我的粉丝,但是在选择配置文件时它不会报告任何错误。
我也试过thinkfan,但它似乎对节流没有帮助。它还认为我的风扇速度为 8RPM,请参阅此线程
解决方案
我发现使用 cpupower 将允许的最大 cpu 频率降低到 3100MHz 而不是默认的 3800 可以解决所有问题。
sudo cpupower frequency-set -u 3100MHz
我还将 max_freq 更改/etc/default/cpupower为相同的值,以使其永久化。我发现这确实会导致游戏的 fps 略有下降,但并不严重。至少我的 fps 是稳定的 :)
可悲的是,我认为这可能会导致非游戏任务(例如编译某些内容)的性能下降。
1.5年后
我刚刚再次对 Windows 进行了稳定性测试(使用 AIDA64),发现它现在也有热节流阀。正如您在下图中所看到的,温度迅速跃升至 90 年代的高位,并且 AIDA64 报告节流。时钟速度在 3.4GHz 空闲,开始测试后几秒钟它会下降到 800MHz 左右,然后在一秒后再次上升到 3.4GHz。它不会决定在压力测试时降低时钟速度到 2.9GHZ(像以前一样)。
为什么它突然停止降低 Windows 中的最大频率?
差异是由于 windows 和 linux 使用不同的 CPU 节流配置文件。
在 linux 上,您确实可以对此进行一些控制。例如,以下命令将显示当前正在使用的配置文件:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
有多种方法可以选择要使用的配置文件。Arch Linux wiki 在这方面有很好的信息,可能值得一读:
还有一个风扇控制问题——你需要确保你有合适的驱动程序来控制你的风扇,并且在游戏时将它们设置为足够高的速度。
Linux on Laptops是一个有用的资源。
| 归档时间: |
|
| 查看次数: |
12875 次 |
| 最近记录: |