Ubuntu Configuration for Inspiron 15r Running Hot

So you have a Dell Ubuntu 14.04 Laptop and it is running way too hot. You can configure it to run at a reasonable level using i8kmon. As with anything heat related, be careful. If you miss-configure the machine you are likely to wind up with a fried machine!

You create a file called /etc/i8kmon.conf and put the following in it:

set config(daemon)      0

# Automatic fan control, override with --auto option
set config(auto)        1

# Report status on stdout, override with --verbose option
set config(verbose) 1

# Status check timeout (seconds), override with --timeout option
set config(timeout) 1

# Temperature thresholds: {fan_speeds low_ac high_ac low_batt high_batt}
set config(0)   {{0 0}  -1  53  -1  53}
set config(1)   {{0 1}  48  58  48  58}
set config(2)   {{1 2}  50  62  50  62}
set config(3)   {{2 2}  55  70  55  70}

The table at the end is defining the temperatures at which the fan goes to the various temperatures. (This is for my Inspiron 15R laptop.  Here the main fan is on low-fan-speed when temp goes over 53 (essentially when there's any load), and high fan speed when it goes over 58. It drops back to low speed when temperature goes to 50, and turns off when the temperature got down to 48 (which is basically when there's 0 load).

The second fan (which is reported by i8kmon, but doesn't seem to actually exist would start at low when the main fan goes high, and then go to high when temp got above 62.  Note: there are default states in the software that let your laptop run very hot, so you likely want to specify all 4 states.

Before making this change my laptop was hitting 65C to 75C with no load (enough to make it uncomfortable to type on), with it installed (and i8kmon restarted) I'm seeing low-fifties and only when I do something CPU or disk-drive pounding for a long time can I get it up to 75C+ (with the fan running high to dump the heat, as you would expect).

You test that it's working by running (while the deamon is running):

i8kmon -na -v

Which will print out the active configuration and then print out the measured temperature and resulting fan-state that is being specified. Run a heavy CPU load and make sure it's running the fans high, drop the load and make sure it goes back to the expected value.

[Update] I've updated the table to values that don't result in the fan going high/low very frequently during load (basically by making the start/stop transitions have an overlap) as the fans cool to a given level and then the temperature immediate rises again. The fans are on high until the temperature is lowered to "rest" temperature and only then let it rise.


Comments are closed.


Pingbacks are closed.