Health Monitoring with lm_sensors
A few years ago, a friend of mine had problems with his computer. It became unreliable; he would get odd errors, or the system would hang. He re-installed the operating system and his key applications, but the problems persisted. This cost him time, and his time is valuable.
The problem turned out to be simple: the cooling fan on his CPU's heat sink was dead. The overheating CPU, in turn, caused random problems. He wound up replacing the CPU as well as the heat sink, because the CPU had been damaged.
He could have avoided all of this if he had been running some sort of computer health monitoring system, such as lm_sensors.
lm_sensors is a set of Linux kernel modules for monitoring the vital signs of a computer: the voltages from the power supply, the temperature of the system and the CPU and fan speeds. lm_sensors includes a command-line utility for checking the current readings. A variety of graphical tools also are available for putting a pretty face on lm_sensors.
Before you attempt to install the lm_sensors kernel module, you should have the I2C driver modules installed. I2C, which stands for Inter-IC bus, is a simple serial data system for connecting chips so they can talk to one another. Most motherboards with health monitoring features use an I2C bus to access those features.
Make sure the I2C drivers are installed on your system. (If you build your own kernel, the I2C options are located under Character Devices.)
Install the packages that provide lm_sensors, or build it from source code and install. Then enter sensors-detect, a script that figures out how to install lm_sensors on your system. It will try various I2C modules and then try various lm_sensors modules, until it finds a combination that works on your system. When it is done, it provides instructions for how to set up configuration files in /etc, which load the correct modules when your system boots.
Once the modules for lm_sensors are installed and working, you can run the sensors command from a shell and receive some useful output. But you probably aren't done yet.
Your next step is to edit the /etc/sensors.conf file. This file sets some custom parameters that make lm_sensors work with your computer system. For example, you can add a label that changes Temp1 to CPU Temp; you can disable Temp3 completely if you don't have a sensor and it is reporting nonsense; and you can customize the math functions used to calculate the displayed values.
Ideally, before you edit /etc/sensors.conf, you should reboot your computer and enter the BIOS setup screens. (For most computers, you hit the Del key or the F1 key during bootup to enter the BIOS. Check the owner's manual for your system, or watch the screen during bootup for a message like Hit <Del> to enter Setup.) The BIOS setup should have a sub-menu showing the same numbers you would like lm_sensors to report. Make a note of the readings you are seeing. For example, if the CPU temperature is about 60 degrees Celsius, write that down.
Now, booted back into Linux, run the sensors command. If the numbers are all there and look correct, you are done. If not, you need to customize /etc/sensors.conf.
Take a look at the top of the output of the sensors command; it shows you with which chip lm_sensors is communicating. Find that chip in /etc/sensors.conf and look at the settings you can customize. /etc/sensors.conf is liberally commented, making it easier to figure out what you need to do. You also can read the man page, man sensors.conf.
Once you have customized /etc/sensors.conf, you must run the command sensors -s to put your changes into effect. Then run the sensors command once again to inspect the values it reports.
Additionally, you should make sure sensors -s runs each time your system boots.
You have the option to install sensord, the lm_sensors monitoring dæmon. You can configure this to log either to standard log files or to a round-robin database (a constant-size database set up to hold, for example, a week's worth of readings; new readings overwrite the oldest). By editing /etc/syslog.conf, you can arrange to receive e-mail when sensor readings go out of bounds.
Today’s modular x86 servers are compute-centric, designed as a least common denominator to support a wide range of IT workloads. Those generic, virtualized IT workloads have much different resource optimization requirements than hyperscale and cloud applications. They have resulted in a “one size fits all” enterprise IT architecture that is not optimized for a specific set of IT workloads, and especially not emerging hyperscale workloads, such as web applications, big data, and object storage. In this report, you will learn how shifting the focus from traditional compute-centric IT architectures to an innovative disaggregated fabric-based architecture can optimize and scale your data center.
Sponsored by AMD
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
| Non-Linux FOSS: Seashore | May 10, 2013 |
| Trying to Tame the Tablet | May 08, 2013 |
| Dart: a New Web Programming Experience | May 07, 2013 |
- RSS Feeds
- New Products
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Drupal Is a Framework: Why Everyone Needs to Understand This
- Home, My Backup Data Center
- A Topic for Discussion - Open Source Feature-Richness?
- Dart: a New Web Programming Experience
- Developer Poll
- What's the tweeting protocol?
- May 2013 Issue of Linux Journal: Raspberry Pi
- Reply to comment | Linux Journal
1 hour 29 min ago - Reply to comment | Linux Journal
2 hours 46 min ago - great post
3 hours 21 min ago - Google Docs
3 hours 43 min ago - Reply to comment | Linux Journal
8 hours 32 min ago - Reply to comment | Linux Journal
9 hours 19 min ago - Web Hosting IQ
10 hours 53 min ago - Thanks for taking the time to
12 hours 29 min ago - Linux is good
14 hours 27 min ago - Reply to comment | Linux Journal
14 hours 44 min ago
Enter to Win an Adafruit Prototyping Pi Plate Kit for Raspberry Pi

It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Prototyping Pi Plate Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- Next winner announced on 5-21-13!
Free Webinar: Linux Backup and Recovery
Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.
In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.




Comments
Do we need to have health monitoring sensors installed.
Hi all,
Apart from our normal PC, do we need additional hardware, to use this.
to get status of PC health.
/rtkrvj
Lm_sensors; Adam Curtis
Sensors in most cases would have been useful when my computer malfunctioned. What I would like to know is are there sensors for video cards. GPU's like to overheat somtimes.
Re: Lm_sensors; Adam Curtis
the S3 savage4 has one. There's a module for Matrox g400, so I think it does it too.
Moaning Goat Meter
I really, really wanted to mention the Moaning Goat Meter in this article. I didn't because it was too much of a stretch (since MGM doesn't yet support lm_sensors). But check it out:
http://www.xiph.org/mgm/
Do not miss the FAQ!
If you are a Perl hacker, maybe you can add lm_sensors support to MGM. MGM is crying out for it (or moaning for it, perhaps).
If you use KDE, you can monitor lm_sensors with KSysGuard
You may need to add sensors to the list of inputs in the /etd/ksysguard.conf file, but it it will allow the hardware sensor status to be displayed in the KDE 'panel'.
It's not as pretty as GKrellM, though. It also won't do logarithmic scaling (useful for things like network data traffic). I've still to investigate if GKrellM can do that either.
warning to Thinkpad owners
Be very careful with LMsensors if you have a IBM ThinkPad laptop. There is a risk of damaging it with these programs.
for more information see:
http://www.linux-thinkpad.org/bm/tp_mailing.html