How to read CPU, Motherboard temperature, voltage and Fan Speeds in Ubuntu
This post depicts a simple procedure to know the various sensor temperatures in computer such as Desktop and Laptop powered by Ubuntu Linux. CPU and Cabinet Cooling Fan Speeds, CPU and Motherboard voltages and temperatures. It involves getting sensors supported by kernel module and installing necessary application for the same.
Package to install
lm-sensors is the package which provides these information.
Run the following command to get it installed.
$ sudo apt-get install lm-sensors
Just issue sensors command to get all these values neatly tabulated as shown below:
$ sensors atk0110-acpi-0 Adapter: ACPI interface Vcore Voltage: +1.33 V (min = +0.80 V, max = +1.80 V) +3.3 Voltage: +3.33 V (min = +2.97 V, max = +3.63 V) +5 Voltage: +5.02 V (min = +4.50 V, max = +5.50 V) +12 Voltage: +12.09 V (min = +10.20 V, max = +13.80 V) CPU FAN Speed: 2824 RPM (min = 600 RPM, max = 7200 RPM) CHASSIS FAN Speed: 0 RPM (min = 600 RPM, max = 7200 RPM) POWER FAN Speed: 0 RPM (min = 600 RPM, max = 7200 RPM) CPU Temperature: +46.0°C (high = +60.0°C, crit = +95.0°C) MB Temperature: +42.0°C (high = +45.0°C, crit = +95.0°C) k10temp-pci-00c3 Adapter: PCI adapter temp1: +51.4°C (high = +70.0°C) (crit = +83.5°C, hyst = +81.5°C) nouveau-pci-0200 Adapter: PCI adapter temp1: +74.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)
The above information gives high and critical ranges of voltages, fan speed and temperature. This information is highly useful to properly cool the chassis/cabinet of the system and also to know the stability and quality of SMPS.
AM2+ Socket workaround
On some of the machines the hardware monitor kernel module may report “unreliable CPU thermal sensor; monitoring disabled“. Some AMD K10 family processors have issues with their temperature sensor. From the kernel documentation:
All these processors have a sensor, but on those for Socket F or AM2+, the sensor may return inconsistent values (erratum 319). The driver will refuse to load on these revisions unless users specify the force=1 module parameter.
Due to technical reasons, the driver can detect only the mainboard’s socket type, not the processor’s actual capabilities. Therefore, users of an AM3 processor on an AM2+ mainboard, can safely use the force=1 parameter.
So those with the above configuration, who face the “unreliable CPU thermal sensor; monitoring disabled” error message on console while booting can very well try forcing the module as shown below.
# rmmod k10temp # modprobe k10temp force=1
Confirm that the sensor is in fact valid and reliable by running the sensors command. If it is stable, you can edit /etc/modprobe.d/k10temp.conf and add the following line to make this persistent.
options k10temp force=1
Hope this information may be useful for you, have fun!