I have a Dell Precision M4500, Intel Core i5 CPU, running Linux (Ubuntu Lucid), and would like to keep an eye on CPU temperature.

I've tried lm-sensors: sensors-detect didn't find any sensors; following its hint ("This is relatively common on laptops, where thermal management is handled by ACPI rather than the OS.") I tried acpi -V but got nothing thermal. The Gnome panel applet "Hardware Sensors Monitor" reports on GPU temperature but nothing else.

What should I be trying next?


I find the CPU temperature for M4500 in:

cat /sys/kernel/debug/ips/cpu_temp

I got sensors to work on mine (Linux Mint - Debian) by loading the coretemp module:

sudo modprobe coretemp

Then run sensors again. If that works, make it permanent by:

sudo echo "coretemp" >> /etc/modules

You can also install i8kutils, then load the i8k module and get the temp from /proc/i8k:

sudo apt-get install i8kutils 
sudo modprobe i8k
cat /proc/i8k | cut -d " " -f 4

Also have a look at dellfand. Note that I had to add #include <sys/stat.h>to dellfand.cc to get it to compile. Once installed, you can play with the fan speeds. For example:

sudo ./dellfand 0 3 40 50 65
sudo ./dellfand 0 0.2 25 40 65

This may be equivalent to what Gnome and/or lm-sensors uses, but then maybe not. To be honest, I'm pretty uninformed about the details of this issue; mostly I just know how to root around for stuff, and know where the temperature info is usually at and what it looks like.

On my Dell (a trooper pentium M laptop from about 6 years ago),

$ cat /sys/devices/virtual/thermal/thermal_zone0/temp

will print the current temperature in thousandths of degrees Celsius. This particular location is I think the standard one, though there are others. For instance, it's also available at /sys/devices/virtual/hwmon/hwmon0/temp1_input. I'm not sure if this is the same sensor or not.

If that doesn't work, you could try

$ find /sys -iname "*temp*" -or -iname "*ther*"

for a fairly brute-squad approach (*ther* will catch "thermal" and generally not much else).

If you don't find it that way, I guess you could be the brute squad and do something like

$ find /sys/ -type f | while read f; do
  if grep -q '^[0-9]\{5\}$' $f
    && (( $(wc -l $f | cut -f 1 -d \ ) == 1 ));
    echo $f;
done 2>/dev/null;

which should print out all files that are one line long and consist of 5 digits, which is generally how these pseudo-files look.

If you don't find it, you can broaden the search a bit by changing \{5\} to \+ to find any number of digits, and/or adding a . after the 9 in the character range [0-9]. Doing both of those will let you catch floating-point representations, though it seems very unlikely that they'd be doing it that way.

I'm not sure how useful either of these approaches will be, since the information may not be in sysfs (ie /sys/...) at all. You might be able to find it under /proc/ instead, using similar techniques — but filter out the numbered directories, and /proc/self, or you'll end up searching metadata for all the processes on your system.


Dell uses proprietary motherboard sensor communications which are masked from most utilities. All I can suggest is to try as many different utilities as you can find.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.