I started GKrellM and checked the chip temperatures. Sure, enough, they were running a little higher than normal. I'd seen the problem before...it was the dust monster.
Time to get out the tiny Phillips screwdriver, vacuum cleaner, and air hose to do some disaster prevention. We'll get to that process shortly. First, I want to cover the GKrellM program and how it can be used to monitor the health and activity on a Linux laptop.
Easy System Monitoring
GKrellM is a small graphical application that shows cpu temperatures, memory usage, disk activities, network traffic, and a whole host of other information about your system. Information monitored and displayed, of course, depends on the particular type of sensors employed by your laptop. The newer machines tend to have more and a greater variety of built-in sensors.
The program can be loaded using your distribution's package manager. It can also be installed from the command line with:
rreilly> sudo apt-get install gkrellm
GKrellM depends on the GTK graphical package and some of those components may need to be installed. The program is easy on resources and uses a paltry 2 percent of my cpu and .3% of memory, so setting it up to run full-time shouldn't demand much from your laptop.
Once installed you can start it from the Applications -> System (on the xfce desktop) drop downs under the GkrellM System Monitor menu item. It can also be started from the command line with:
The interface is a stacked model, with blocks arranged vertically. Figure 1 displays an example of my particular GKrellM tool setup. You can drag the thing to a useful spot on the screen by grabbing the top block with the left mouse button and moving it. I use the xfce desktop with the Compiz special effects and six virtual desktops. The display can't be dragged between desktops however, so I just start the program up on the desktop I'm using the most, at that particular time.
Different metrics and charts can be added and removed from the stack as needed. Right click on the top block of the stack to bring up a small menu where you can choose Configuration. You can also click F1 when GKrellM is displayed to go right to the menu. Figure 2 shows the configuration menu with particular focus on the cpu temperatures. Options are selected by way of check boxes. If the measurement shows up on the menu, GKrellM can track it, although there may be a slight delay before some of the metrics start. For example, it took three or four seconds, when I checked the hddtemp/sda box before it showed the correct temperature. Lack of an accurate reading gives 32 degrees, which clearly wouldn't be correct. GKrellM defaults to Celsius readings, but you can change it to Fahrenheit under the Built-ins -> sensors -> options menus.
GKrellM shows data in several different default formats, depending on the information. Cpu activities and processes are displayed as rolling bar charts. Cpu, gpu, and hard disk temperatures are monitored via simple digital meters, with one value per measurement. The look and feel can be changed through the local theme configuration file found in ~/.gkrellm2/themes directory. Several other configuration files exist in the ~/.gkrellm2. An interesting discussion of themes can be found at muhri.net.
You can also install different types of plug-ins that work with the program. One plug-in that I found interesting and useful was the volume control slider. I loaded it using the Synaptics package manager. The default xfce mixer leaves a little to be desired, requiring multiple clicks to change settings and having the control right there on the tool is convenient.
Time to fix the dust problem.
Take The Heat Off
Now that we can keep an eye on our laptop temperatures and other vital statistics, with GKrellM, it's time to solve the heat problem when it shows up.
We've all seen plenty of desktop machine innards just caked in dust. The stuff collects on the cpus, the fans, and the boards. Desktop machines are fairly tolerant of the condition and it's a good thing because the average user never takes the cover off to clean anything out.
Laptops are another story. Dust is an absolute killer for laptops. The problem is even more critical with laptops, because all the parts are so tightly packed together and a lot of housings are not designed for the average Joe to take apart for cleanings.
Normal cpu temperatures for my 2.26-Ghz Intel Centrino 2 run about two to five degrees F above ambient room temperature, under light load. Similarly, the NVidia 9600M GS chip runs about 40 to 45 degrees F above ambient and the hard drive runs about plus 15 degrees F. To maintain top performance, it is critical to keep the temperature within normal limits.
Nowadays, I try to buy laptops that can be cleaned without too much effort. The Asus has a nice cover on the bottom, for that purpose.
I take the cover off of the bottom, remove the screws securing the fan, and then sweep everything out with the vacuum cleaner. A little brush on the end of the hose helps to carefully suck the dust off the fan blades, cpu mounting, and heat sink fins. Compressed air from the outside can be used to force stubborn dust off the heat sink and into the vacuum hose for a squeaky clean job. The two-step technique of using the compressed air with the vacuum, also works well when you can't take the cover off and have to work through the laptop vent holes.
Keeping a laptop in good shape takes a little bit of preventative effort, once in a while.
GKrellM is an efficient and convenient way to keep an eye on temperatures and other system metrics.
When buying a new laptop, be sure to note readings for a baseline figure, then check them periodically to head off trouble. If you start to see an up tick in temperatures (with an associated increase in fan noise), it might be time to get out the vacuum and eliminate those internal dust monsters.