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
Asked By: ABeginner

||

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.

Answered By: telcoM
Categories: Answers Tags:
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.