Temperature and fan speed monitoring on Linux

To monitor CPU and motherboard temperature as well as fan speed on Linux, we should install the package lm-sensors. After installation, run sensors-detect in sudo mode to find available sensors in the computer and check whether related kernel modules have been loaded for them.

On my computer, after running sensors-detect, the following message appears.

Now follows a summary of the probes I have just done.
Just press ENTER to continue: 
Driver `it87':
* ISA bus, address 0x290
Chip `ITE IT8728F Super IO Sensors' (confidence: 9)
Driver `coretemp':
* Chip `Intel digital thermal sensor' (confidence: 9)
To load everything that is needed, add this to /etc/modules:
#----cut here----
# Chip drivers
coretemp
it87
#----cut here----
If you have some drivers built into your kernel, the list above will
contain too many modules. Skip the appropriate ones!

It can be seen that there are two types of sensors having been found:

  • ITE IT8728F Super IO Sensors for temperature monitoring, fan speed monitoring and control

  • Intel digital thermal sensor for CPU temperature monitoring

For ITE8728, its introduction is as below, according to here.

The IT8728 is a highly integrated Super I/O using the LowPin Count Interface. It provides the most commonly used legacy Super I/O functionality plus the latest Environment Control initiatives, including H/W Monitor and Fan Speed Controller. The device’s LPC interface complies with Intel “LPC Interface Specification Rev. 1.1”. The IT8728F is ACPI & LANDesk compliant.
The IT8728F features an enhanced hardware monitor providing three thermal inputs from remote thermal resistors, or thermal diode or diode-connected transistor (2N3904/2N3906). The device employs ITE’s innovative intelligent automatic Fan ON/OFF & speed control functions (SmartGuardian)to protect the system while reducing the system noise and power consumption.The Fan Speed Controller can control up to five fan speeds through five separate 256 steps of Pulse Width Modulation (PWM) output pins and monitor up to five FANs’ Tachometer inputs.

Then we use lsmod to check if the kernel modules coretemp and it87 have been loaded. If not, append them to the file /etc/modules.

Finally, by executing the command sensors, we get the monitoring status. For ITE8728, three temperature sensors register 45 °C, 24 °C, 33 °C respectively and the CPU fan speed is 946 rpm. For Intel CPU, it returns the temperature 43 °C for the package as well as 41 °C, 41 °C, 42 °C and 43 °C for the four cores. In addition, the NVIDIA graphics card Geforce GT210 (with the Nouveau driver) has a temperature of 85 °C, while the fan speed cannot be read out.

it8728-isa-0290
Adapter: ISA adapter
in0: +1.04 V (min = +0.00 V, max = +3.06 V)
in1: +2.05 V (min = +0.00 V, max = +3.06 V)
in2: +2.95 V (min = +0.00 V, max = +3.06 V)
in3: +2.88 V (min = +0.00 V, max = +3.06 V)
in4: +0.04 V (min = +0.00 V, max = +3.06 V)
in5: +1.01 V (min = +0.00 V, max = +3.06 V)
in6: +1.54 V (min = +0.00 V, max = +3.06 V)
3VSB: +3.38 V (min = +0.00 V, max = +6.12 V)
Vbat: +3.22 V
fan1: 946 RPM (min = 10 RPM)
fan2: 0 RPM (min = 0 RPM)
fan3: 0 RPM (min = 0 RPM)
fan4: 0 RPM (min = 0 RPM)
temp1: +45.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor
temp2: +24.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistor
temp3: +33.0°C (low = +127.0°C, high = +127.0°C) sensor = Intel PECI
intrusion0: ALARM
nouveau-pci-0100
Adapter: PCI adapter
GPU core: +0.90 V (min = +0.85 V, max = +1.05 V)
fan1: 0 RPM
temp1: +85.0°C (high = +95.0°C, hyst = +3.0°C)
(crit = +105.0°C, hyst = +5.0°C)
(emerg = +135.0°C, hyst = +5.0°C)
coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +43.0°C (high = +74.0°C, crit = +94.0°C)
Core 0: +41.0°C (high = +74.0°C, crit = +94.0°C)
Core 1: +41.0°C (high = +74.0°C, crit = +94.0°C)
Core 2: +42.0°C (high = +74.0°C, crit = +94.0°C)
Core 3: +43.0°C (high = +74.0°C, crit = +94.0°C)

 

posted @ 2021-11-24 16:02  皮波迪先生  阅读(283)  评论(0编辑  收藏  举报