![“传感器”命令是否显示 CPU 核心的准确温度?](https://linux22.com/image/1019119/%E2%80%9C%E4%BC%A0%E6%84%9F%E5%99%A8%E2%80%9D%E5%91%BD%E4%BB%A4%E6%98%AF%E5%90%A6%E6%98%BE%E7%A4%BA%20CPU%20%E6%A0%B8%E5%BF%83%E7%9A%84%E5%87%86%E7%A1%AE%E6%B8%A9%E5%BA%A6%EF%BC%9F.png)
我有点困惑sensors
命令是如何工作的?
我的 CPU 型号是Intel(R) Core(TM) i7-4720HQ CPU @ 2.60GHz
当我打开笔记本电脑时,它显示平均温度为 50 摄氏度,如果我在 Android Studio 中构建一个项目,它会立即升至 80 摄氏度以上,而当构建完成时,它会立即再次降至 50 摄氏度?温度如何在近一秒钟内如此迅速地上升和下降?
它显示的是准确的温度还是根据运行过程进行猜测?
答案1
您没有提到哪个温度,但假设您指的是其某个核心或封装的处理器温度:
是的,温度确实可以快速上升和下降。速率取决于冷却方法以及处理器和冷却方法之间的热结合程度。
被动冷却方法需要一定的温差,以使热量从热流向冷流。温差越大,热流越快。
液体冷却方法使冷却点非常靠近处理器本身,只需要很小的温差就能实现良好的热流。
据我所知sensors
无法猜测。
以下是使用风冷 Intel i7-2600K 处理器的示例,处理器和散热器之间具有良好的热粘合性,并且风扇响应时间快。使用 turbostat 代替 lm-sensors,并使用 prime95 严酷测试来创建高热负荷:
$ sudo turbostat --Summary --quiet --show Busy%,Bzy_MHz,PkgTmp,PkgWatt,GFXWatt,IRQ --interval 0.25
Busy% Bzy_MHz IRQ PkgTmp PkgWatt GFXWatt
0.16 2029 61 37 4.16 0.12
0.14 1872 57 37 4.10 0.12
0.13 1932 60 39 4.11 0.12
52.09 3498 1251 54 47.29 0.12 <<< load applied, already 15 degress
100.00 3500 2063 58 87.15 0.12
100.00 3500 2058 60 87.55 0.12
100.00 3500 2054 62 88.07 0.12
100.00 3500 2064 63 87.96 0.12
100.00 3500 2052 64 88.29 0.12
100.00 3500 2067 64 88.12 0.12
100.00 3500 2053 64 88.13 0.12
100.00 3500 2063 65 88.30 0.12
100.00 3500 2060 66 88.56 0.12
100.00 3500 2058 65 88.35 0.12
100.00 3500 2057 65 88.30 0.12
100.00 3500 2058 66 88.78 0.12
100.00 3500 2055 66 88.40 0.12
100.00 3500 2060 67 88.56 0.12
100.00 3500 2053 67 88.84 0.12
100.00 3500 2062 67 88.57 0.12
100.00 3500 2056 67 88.56 0.12
99.99 3164 2074 62 76.39 0.12 <<< Throttling
100.00 2700 2052 61 58.25 0.12
100.00 2700 2063 60 58.34 0.12
100.00 2700 2063 60 58.14 0.12
因此,以 4 赫兹(0.25 秒周期)进行采样后,我们看到施加负载后温度为 52%,因此我们知道采样间隔大约为 1/2。因此,处理器温度在大约 0.125 秒内上升了 15 度。
为了在这次实验中保护我的处理器,我还运行了具有低跳变点的 thermald,你可以观察到它在一段时间后限制了 CPU 频率。