为什么 cat /sys/class/Thermal/Thermal_Zone0/Temp 的结果是 0?

为什么 cat /sys/class/Thermal/Thermal_Zone0/Temp 的结果是 0?

我正在定制 Linux 并使用内核版本 6.4.0。我不知道为什么我经常cat /sys/class/thermal/thermal_zone0/temp检查CPU温度,结果是0?但我的电脑显然可以正常启动并产生热量。

我什么时候关闭过任何选项吗make memunconfig

# cat /sys/class/thermal/thermal_zone0/temp
0

添加类型:

# cat /sys/class/thermal/thermal_zone0/type
acpitz

=================================================

Debian12我在电脑上安装了发行版,无法访问“thermal_zone0可以看到温度”,但可以通过thermal_zone1“看到温度”查看。但我定制的Linux系统只有thermal_zone0,没有thermal_zone1

#1 定制Linux系统

# cat /sys/class/thermal/thermal_zone0/trip_point_*
0
100000
critical
0
71000
active
0
55000
active
0
50000
active
0
45000
active
0
40000
active

#2 Debian 12

# cat /sys/class/thermal/thermal_zone0/trip_point_*
119000
critical
71000
active
55000
active
50000
active
45000
active
40000
active
# cat /sys/class/thermal/thermal_zone1/trip_point_*
-274000
passive
-274000
passive
# cat /sys/class/thermal/thermal_zone1/type
x86_pkg_temp

答案1

您正在查看热区。

该类型acpitz是通用 ACPI 热区;只有系统 ACPI 固件的开发人员才能确切知道它表示什么(如果有的话)。我认为没有任何内核选项可以将输出提高到超出您已经看到的范围。

该热区域在您当前的硬件/固件配置中可能处于非活动状态,或者使用非标准温标。其中任何一个都可以解释该0值:如果实际使用热区,它可能意味着“当前处于冷却要求级别 0”。

/sys/class/thermal/thermal_zone0/trip_point_*文件吗?如果使用自定义比例,则 的内容trip_point_*_temp和各自的trip_point_*_type值可能会提供有关比例如何工作的一些信息。

其他可能的热区域类型包括(但不一定限于)pch_skylake=芯片组热传感器(特定英特尔芯片组的),以及x86_pkg_temp=CPU内置热传感器。它们的行为来自于检索信息的 Linux 驱动程序,而不是来自 ACPI 固件,因此它们的行为更为人所知。

相关内容