5

I have installed the package 'lm-sensors' and I use the command 'sensors' to check the temperature of my CPU. The output of the command is something like this:

acpitz-virtual-0
Adapter: Virtual device
temp1:        +52.5°C  (crit = +93.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +46.0°C  (high = +90.0°C, crit = +90.0°C)
Core 1:       +48.0°C  (high = +90.0°C, crit = +90.0°C)

dell_smm-virtual-0
Adapter: Virtual device
Processor Fan: 3000 RPM
CPU:            +52.0°C  
Other:          +44.0°C  
Other:          +45.0°C 

What does virtual mean here? What is 'isa' and 'acpitz'? Which one is the real temperature of the CPU?

5

From https://en.wikipedia.org/wiki/System_Management_Mode:

SMM is a special-purpose operating mode provided for handling system-wide functions like power management, system hardware control, or proprietary OEM designed code.

dell_smm-virtual-0 is your CPU fan, managed by your system firmware.

acpitz-virtual-0 is the temperature sensor near/on your CPU socket. This sensor can be unreliable.

coretemp-isa-0000 measures the temperature of the specific cores.

If you have an Intel device, the CPU sensor and motherboard sensor should generally be accurate, or close to each other's readings. Many AMD CPUs have faulty onboard sensors that heavily conflict with the motherboard readings.

Also, given that you have a laptop, and a firmware-controlled fan, a) fan control is most likely not possible, and b) your CPU temperatures are perfectly fine.

| improve this answer | |
  • 2
    How did you find out acpitz-virtual-0 is the temperature sensor near/on the CPU socket? Is it always so? Would you mind providing the document link? I'm also learning about it today. – yaobin Mar 15 '19 at 1:37
  • What about package id 0 in the CPU core temperature sensor output? On my system, it is above the temperature readings for the 4 cores, and is always a higher number than any of the cores. It's generally closer to the CPU fan sensor temperature (pch_skylake-virtual-0) than the core temperatures. – Andy Forceno May 26 at 18:42
6

Sensors is reporting values found in Linux virtual file system directory:

/sys/class/thermal/thermal_zone*/temp

You can find them out yourself (even if Sensors isn't installed) using:

$ paste <(cat /sys/class/thermal/thermal_zone*/type) <(cat /sys/class/thermal/thermal_zone*/temp) | column -s $'\t' -t | sed 's/...$/.0°C/'
INT3400 Thermal  20.0°C
pch_skylake      -47.0°C
SEN1             52.0°C
SEN2             48.0°C
SEN3             55.0°C
SEN4             58.0°C
B0D4             54.0°C
x86_pkg_temp     54.0°C

Notice the pch_skylake sensor has gone crazy. Whilst researching the problem I found this question and posted this answer.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.