Header Shadow Image

Computer Temperature Monitoring

Computer temperature settings, voltages, fan speed and other components can be monitored off of a standard Linux distribution. Computer temperature monitoring however, can depend on the CPUID level as seen in cat /proc/cpuinfo.  More on the CPU ID levels can be found here.  Below is a processor in one motherboard showing it's CPUID.

[root@mbpc ~]# cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 16
model           : 6
model name      : AMD Athlon(tm) 5200 Dual-Core Processor
stepping        : 3
cpu MHz         : 800.000
cache size      : 512 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 2
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 5
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt npt lbrv svm_lock nrip_save
bogomips        : 4620.87
TLB size        : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate


If you know your CPUID is higher then the above, you can install lm-sensors to help track your CPU temperature as well as temperature of the other components on your system:

# yum install lm_sensors.x86_64 lm_sensors-debuginfo.x86_64 lm_sensors-devel.x86_64 lm_sensors-libs.x86_64 lm_sensors-sensord.x86_64

Once you have LM Sensors loaded issue the following to configure and then to report on system voltage, CPU, FAN Speed etc:

[root@mbpc ~]# /usr/sbin/sensors-detect
# sensors-detect revision 1.1
# System: Gigabyte Technology Co., Ltd. GA-890XA-UD3

This program will help you determine which kernel modules you need
to load to use lm_sensors most effectively. It is generally safe
and recommended to accept the default answers to all questions,
unless you know what you're doing.

Some south bridges, CPUs or memory controllers contain embedded sensors.
Do you want to scan for them? This is totally safe. (YES/no): YES
Silicon Integrated Systems SIS5595…                       No
VIA VT82C686 Integrated Sensors…                          No
VIA VT8231 Integrated Sensors…                            No
AMD K8 thermal sensors…                                   No
AMD Family 11h thermal sensors…                           No
Intel digital thermal sensor…                             No
Intel AMB FB-DIMM thermal sensor…                         No
VIA C7 thermal and voltage sensors…                       No

Some Super I/O chips contain embedded sensors. We have to write to
standard I/O ports to probe them. This is usually safe.
Do you want to scan for Super I/O sensors? (YES/no): YES
Probing for Super-I/O at 0x2e/0x2f
Trying family `National Semiconductor'…                   No
Trying family `SMSC'…                                     No
Trying family `VIA/Winbond/Nuvoton/Fintek'…               No
Trying family `ITE'…                                      Yes
Found `ITE IT8720F Super IO Sensors'                        Success!
    (address 0x228, driver `it87')
Probing for Super-I/O at 0x4e/0x4f
Trying family `National Semiconductor'…                   No
Trying family `SMSC'…                                     No
Trying family `VIA/Winbond/Nuvoton/Fintek'…               No
Trying family `ITE'…                                      No

Some systems (mainly servers) implement IPMI, a set of common interfaces
through which system health data may be retrieved, amongst other things.
We first try to get the information from SMBIOS. If we don't find it
there, we have to read from arbitrary I/O ports to probe for such
interfaces. This is normally safe. Do you want to scan for IPMI
interfaces? (YES/no): YES
Probing for `IPMI BMC KCS' at 0xca0…                      No
Probing for `IPMI BMC SMIC' at 0xca8…                     No

Some hardware monitoring chips are accessible through the ISA I/O ports.
We have to write to arbitrary I/O ports to probe them. This is usually
safe though. Yes, you do have ISA I/O ports even if you do not have any
ISA slots!
Do you want to scan the ISA I/O ports? (yes/NO): YES

Lastly, we can probe the I2C/SMBus adapters for connected hardware
monitoring devices. This is the most risky part, and while it works
reasonably well on most systems, it has been reported to cause trouble
on some systems.
Do you want to probe the I2C/SMBus adapters now? (YES/no): YES
Using driver `i2c-piix4' for device 0000:00:14.0: ATI Technologies Inc SB600/SB700/SB800 SMBus
Module i2c-dev loaded successfully.

Now follows a summary of the probes I have just done.
Just press ENTER to continue:

Driver `it87':
  * ISA bus, address 0x228
    Chip `ITE IT8720F Super IO Sensors' (confidence: 9)

Do you want to overwrite /etc/sysconfig/lm_sensors? (YES/no): YES
Starting lm_sensors: loading module it87                   [  OK  ]
Unloading i2c-dev… OK

[root@mbpc ~]#
[root@mbpc ~]#
[root@mbpc ~]# sensors
Adapter: PCI adapter
temp1:       +21.9°C  (high = +70.0°C, crit = +66.0°C)

Adapter: ISA adapter
in0:         +1.39 V  (min =  +0.00 V, max =  +4.08 V)
in1:         +1.52 V  (min =  +0.00 V, max =  +4.08 V)
in2:         +3.33 V  (min =  +0.00 V, max =  +4.08 V)
in3:         +3.02 V  (min =  +0.00 V, max =  +4.08 V)
in4:         +3.09 V  (min =  +0.00 V, max =  +4.08 V)
in5:         +1.73 V  (min =  +0.00 V, max =  +4.08 V)
in6:         +4.08 V  (min =  +0.00 V, max =  +4.08 V)
in7:         +2.16 V  (min =  +0.00 V, max =  +4.08 V)
Vbat:        +3.22 V
fan1:       1363 RPM  (min =    0 RPM)
fan2:        896 RPM  (min =    0 RPM)
fan3:       1138 RPM  (min =    0 RPM)
fan5:       1132 RPM  (min =    0 RPM)
temp1:       +43.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
temp2:       +36.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermal diode
temp3:       +39.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
cpu0_vid:   +0.375 V

[root@mbpc ~]#

And your temperature monitoring for your system is then complete. NOTE: The above is monitoring through the ISA I/O Ports.  See the notes above.  An earlier topic of ours also talked about hddtemp who's output looks like this:

[root@moto ~]# hddtemp /dev/sda
/dev/sda: WDC WD400EB-00CPF0:  drive supported, but it doesn't have a temperature sensor.
[root@moto ~]# hddtemp /dev/sdb
^[[A/dev/sdb: WDC WD1200JB-00GVA0: 34°C
[root@moto ~]# hddtemp /dev/sdc
/dev/sdc: WDC WD2500KS-00MJB0: 44°C
[root@moto ~]#

And here is another sample:

[root@mbpc ~]# hddtemp /dev/sda
/dev/sda: ST1500DL003-9VT16L: 38°C
[root@mbpc ~]# hddtemp /dev/sdb
/dev/sdb: ST31000520AS: 33°C
[root@mbpc ~]# hddtemp /dev/sdc
/dev/sdc: ST31000520AS: 34°C
[root@mbpc ~]# hddtemp /dev/sdd
/dev/sdd: ST31000520AS: 31°C
[root@mbpc ~]# hddtemp /dev/sde
/dev/sde: ST31000520AS: 33°C
[root@mbpc ~]# hddtemp /dev/sdf
/dev/sdf: ST31000520AS: 33°C
[root@mbpc ~]# hddtemp /dev/sdg
/dev/sdg: WDC WD15EADS-32R6B0: 40°C
[root@mbpc ~]#



Leave a Reply

You must be logged in to post a comment.

  Copyright © 2003 - 2013 Tom Kacperski (microdevsys.com). All rights reserved.

Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 Unported License