Why is the result of cat /sys/class/thermal/thermal_ zone0/temp 0?
I am customizing Linux and using kernel version 6.4.0. I don’t know why I used cat /sys/class/thermal/thermal_zone0/temp
to check the CPU temperature and the result was 0
? But my PC is clearly starting normally and generating heat.
Did I turn off any options when make memunconfig
?
# cat /sys/class/thermal/thermal_zone0/temp
0
add type:
# cat /sys/class/thermal/thermal_zone0/type
acpitz
================================================
I have installed the distribution version of Debian12
on my computer and cannot access it from thermal_zone0
can see the temperature, but it can be viewed from thermal_zone1
sees the temperature. But my customized Linux system only has thermal_zone0
, no thermal_zone1
.
#1 Customized Linux system
# 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
You are looking at thermal zones.
The type acpitz
is a generic ACPI thermal zone; only the developer of the ACPI firmware of your system knows for sure what it indicates, if anything.
I think there are no kernel options that would improve the output beyond what you are already seeing.
That thermal zone might be inactive in your current hardware/firmware configuration, or use a non-standard temperature scale. Either of those could explain the 0
value: if the thermal zone is actually used, it might mean something like "currently at cooling requirement level 0".
Are there any /sys/class/thermal/thermal_zone0/trip_point_*
files? If a custom scale is being used, the contents of the trip_point_*_temp
and the respective trip_point_*_type
values might give some idea about how the scale works.
Other possible thermal zone types include (but are not necessarily limited to) pch_skylake
= chipset thermal sensor (of particular Intel chipsets), and x86_pkg_temp
= CPU built-in thermal sensor. The behavior of those comes from the Linux driver retrieving the information rather than from the ACPI firmware, and so their behavior is more well known.