You need to use Linux monitoring sensors software called lm_sensors. It is an open-source software that provides commands and drivers for monitoring CPU/GPU temperatures, voltage, and fan speed. Once lm_sensors installed, we can use System Monitor GUI frontend for KDE or GNOME to get data. Let us see how to install lm_sensors and find out fan speed on Linux operating systems using the CLI.
How to find fan speed in Linux
The procedure to find fan speed on Linux is as follows:
- First, install lm-sensors package using package manager.
- Configure sensors by running sudo sensors-detect command.
- Save the configuration file
- Finally, run sensors command in Linux to see CPU and GPU temperature, including fan speed.
Let us see all commands and examples in details.
How to install lm-sensors
Type commands as per your Linux distro.
CentOS/RHEL/Oracle Linux
Use yum command as follows:
sudo yum install lm_sensors
Sample outputs:
Last metadata expiration check: 0:13:39 ago on Tuesday 12 November 2019 05:45:06 PM UTC. Dependencies resolved. ============================================================================================================ Package Arch Version Repository Size ============================================================================================================ Installing: lm_sensors x86_64 3.4.0-20.20180522git70f7e08.el8 rhui-rhel-8-for-x86_64-baseos-rhui-rpms 152 k Installing dependencies: perl-Scalar-List-Utils x86_64 3:1.49-2.el8 rhui-rhel-8-for-x86_64-baseos-rhui-rpms 68 k perl-IO x86_64 1.38-416.el8 rhui-rhel-8-for-x86_64-baseos-rhui-rpms 141 k perl-constant noarch 1.33-396.el8 rhui-rhel-8-for-x86_64-baseos-rhui-rpms 25 k perl-interpreter x86_64 4:5.26.3-416.el8 rhui-rhel-8-for-x86_64-baseos-rhui-rpms 6.3 M perl-threads x86_64 1:2.21-2.el8 rhui-rhel-8-for-x86_64-baseos-rhui-rpms 61 k perl-PathTools x86_64 3.74-1.el8 rhui-rhel-8-for-x86_64-baseos-rhui-rpms 90 k perl-Text-Tabs+Wrap noarch 2013.0523-395.el8 rhui-rhel-8-for-x86_64-baseos-rhui-rpms 24 k perl-File-Path noarch 2.15-2.el8 rhui-rhel-8-for-x86_64-baseos-rhui-rpms 38 k perl-Unicode-Normalize x86_64 1.25-396.el8 rhui-rhel-8-for-x86_64-baseos-rhui-rpms 82 k perl-Exporter noarch 5.72-396.el8 rhui-rhel-8-for-x86_64-baseos-rhui-rpms 34 k perl-threads-shared x86_64 1.58-2.el8 rhui-rhel-8-for-x86_64-baseos-rhui-rpms 48 k perl-libs x86_64 4:5.26.3-416.el8 rhui-rhel-8-for-x86_64-baseos-rhui-rpms 1.6 M perl-Carp noarch 1.42-396.el8 rhui-rhel-8-for-x86_64-baseos-rhui-rpms 30 k perl-parent noarch 1:0.237-1.el8 rhui-rhel-8-for-x86_64-baseos-rhui-rpms 20 k perl-Errno x86_64 1.28-416.el8 rhui-rhel-8-for-x86_64-baseos-rhui-rpms 76 k perl-macros x86_64 4:5.26.3-416.el8 rhui-rhel-8-for-x86_64-baseos-rhui-rpms 72 k perl-Socket x86_64 4:2.027-3.el8 rhui-rhel-8-for-x86_64-baseos-rhui-rpms 59 k lm_sensors-libs x86_64 3.4.0-20.20180522git70f7e08.el8 rhui-rhel-8-for-x86_64-baseos-rhui-rpms 59 k Transaction Summary ============================================================================================================ Install 19 Packages Total download size: 8.9 M Installed size: 22 M Is this ok [y/N]: y
Fedora Linux
Type dnf command:
sudo dnf install lm_sensors
Debian/Ubuntu/Mint Linux
Execute apt command/apt-get command:
sudo apt-get install lm-sensors
OpenSuse/Suse Linux
Type the following zypper command:
sudo zypper in sensors
Sample outputs:
The following 2 NEW packages are going to be installed: libsensors4 sensors 2 new packages to install. Overall download size: 167.9 KiB. Already cached: 0 B. After the operation, additional 472.9 KiB will be used. Continue? [y/n/v/...? shows all options] (y): y Retrieving package libsensors4-3.5.0-4.3.1.x86_64 (1/2), 53.8 KiB (105.2 KiB unpacked) Retrieving: libsensors4-3.5.0-4.3.1.x86_64.rpm ..........................[done] Retrieving package sensors-3.5.0-4.3.1.x86_64 (2/2), 114.1 KiB (367.7 KiB unpacked) Retrieving: sensors-3.5.0-4.3.1.x86_64.rpm ..............................[done] Checking for file conflicts: ............................................[done] (1/2) Installing: libsensors4-3.5.0-4.3.1.x86_64 ........................[done] (2/2) Installing: sensors-3.5.0-4.3.1.x86_64 ............................[done]
Arch Linux
Execute pacman command:
sudo pacman -S lm_sensors
Setup and configuration
Now, that lm-sensors installed, it is time to run sensors-detect command to detect and generate a list of kernel modules.
sudo sensors-detect
Now, hardware probing should start. Hence, press the [Enter] key to all questions to create /etc/sensors3.conf file. This file used to load Linux kernel modules and start service automatically at boot time. Display /etc/sensors3.conf using the cat command:
cat /etc/sensors3.conf
Sample outputs:
# libsensors configuration file # ----------------------------- # # This default configuration file only includes statements which do not # differ from one mainboard to the next. Only label, compute and set # statements for internal voltage and temperature sensors are included. # # In general, local changes should not be added to this file, but rather # placed in custom configuration files located in /etc/sensors.d. This # approach makes further updates much easier. # # Such custom configuration files for specific mainboards can be found in # "configs" directory of lm-sensors package. # # Please contribute back a configuration of your board so other users with # the same hardware won't need to recreate it again and again. chip "lm78-*" "lm79-*" "lm80-*" "lm96080-*" label temp1 "M/B Temp" chip "w83792d-*" label in0 "VcoreA" label in1 "VcoreB" label in6 "+5V" label in7 "5VSB" label in8 "Vbat" set in6_min 5.0 * 0.90 set in6_max 5.0 * 1.10 set in7_min 5.0 * 0.90 set in7_max 5.0 * 1.10 set in8_min 3.0 * 0.90 set in8_max 3.0 * 1.10 chip "w83793-*"
Display fan speed and other info
Type:
sensors
You can use the grep command to filter out data:
sensors | grep -i fan
Our final example includes the watch command that displays fan speed on screen:
watch -n1 -d sensors
watch -n1 -d 'sensors | grep fan'
watch -n1 -d 'sensors | egrep "fan|temp" | grep -v "0.0"'
Graphical front-ends
Run sensors command repeatedly, and show info on screen
sudo apt install psensor # Debian/Ubuntu
sudo zypper in psensor # Suse/OpenSUSE
sudo pacman -S psensor # Arch Linux
sudo yum install xsensors # CentOS/RHEL (use xsensors instead of psensor)
Run it:
psensor
## centos/rhel user run ##
xsensors
Using GUI tool to show sensor data such as fan speed, GPU/CPU temp and more in Linux
xsenors in actions showing wifi, gpu, cpu, fan, battary and other info
Other GUI options
- Grab GNOME Sensors Applet
- Download KDE Thermal Monitor (Plasma 5 applet)
- Xfce4 panel plugin
- MATE Sensors Applet
- LXPanel plugin
Conclusion
You learned how to monitor temperatures and fan speed. For more information see lm-sensors home page here.
🐧 1 comment so far... add one ↓
Category | List of Unix and Linux commands |
---|---|
File Management | cat |
Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Network Utilities | dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time |
Searching | grep • whereis • which |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |
Comments on this entry are closed.
Have a question or comment? Post it on the forum topic here.