我的笔记本电脑最近在繁重编译过程中关机了几次,我想这可能是由于过热造成的。经过调查,我发现我的热跳变点在 95°C 时为“被动”,在 100° 时为“临界”。据我所知,“被动”只是温度控制的默认状态。那么,如果没有“主动”跳变点,冷却会完全开启吗?
如果我是对的,而且配置不当,我该如何更改它?我想我明白 Linux 不允许您配置跳变点的温度,但我可以设置模式吗?或者我可以从 BIOS 中更改模式和温度吗?(我还没有检查,因为我正在进行另一次繁重的编译。)或者我应该做其他什么吗?
acpi -tci
给出如下输出:
$ acpi -tci
Thermal 0: ok, 64.0 degrees C
Thermal 0: trip point 0 switches to mode critical at temperature 100.0 degrees C
Thermal 0: trip point 1 switches to mode passive at temperature 95.0 degrees C
Cooling 0: Processor 0 of 3
Cooling 1: Processor 0 of 3
Cooling 2: Processor 0 of 3
Cooling 3: Processor 0 of 3
我不确定这些冷却设备是什么。我原本以为会有风扇,但也许我没有风扇?我可以使用例如手动将处理器状态设置为从 0 到 3 的任何值echo 3 | sudo tee /sys/class/thermal/cooling_device0/cur_state
。(这会将所有四个设置为相同的状态,“3 个处理器中的 3 个”。)有趣的是,增加状态似乎确实可以改善冷却效果,但我没有注意到我的笔记本电脑有任何额外的噪音。之前,我将状态设置为 1,后来我注意到温度下降后它又回到了 0(当时不是在重负载下,我忘记了确切的数字,但它可能发生在 80° 到 60° 之间)。我还没有看到acpi
温度达到 95° 或更高的报告;在我打开冷却之前,它最近达到了 94°。现在它似乎相当稳定在 84°,处理器处于状态 3。
这是我在 2013 年末买的 Thinkpad Edge (E145)。内核是 3.17.8-gentoo-r1,我自己配置的,所以有可能我做错了什么。
更新:大型编译完成 12 小时后,冷却系统仍未关闭;我不记得温度达到多少,大概在 70 多度。我查看了 BIOS,找不到与热跳变点相关的任何选项。现在我看到温度达到 95°;第一行变为Thermal 0: passive, 95.0 degrees C
,但其他内容没有变化。然后我自己打开了冷却系统。
答案1
主动意味着内核将触发并使用任何风扇来冷却您的计算机。
被动意味着内核将限制 CPU 以冷却您的计算机。
严重意味着内核即将关闭。
我发布了一个与 ARM 系统相关的问题: https://stackoverflow.com/questions/53094799/what-does-kernel-thermal-zone-mean-in-dts-file
还有一个有趣的演示(针对 ARM 系统),可能会让您稍微了解一下内核热框架的工作原理:
https://elinux.org/images/2/2b/A_New_Simplified_Thermal_Framework_For_ARM_Platforms.pdf
内核的文档也可能有帮助: https://www.kernel.org/doc/Documentation/thermal/sysfs-api.txt
最后,这篇文章也很有用: https://lwn.net/Articles/268958/