Work around overheating with cpufreq-set 2012-06-07
One of my Gentoo boxes has overheating issues which I have yet to properly address on hardware level. Compiling something like Boost or Firefox results in a guaranteed emergency reboot, literally not cool.
The box has a dual core CPU with 2.53 GHz. Fortunately, it can be throttled to do operate at a lower frequency which results in less heat from the CPU.
Using cpufreq-info(1) I can see that the CPU is happy to operate under a few alternative frequencies:
$ cpufreq-info | fgrep 'available frequency' | head -n 1 available frequency steps: 2.53 GHz, 2.53 GHz, 1.60 GHz, 800 MHz
Now different CPU governors give me different options:
- Governor ‘performance’ runs at maximum frequency (i.e. 2.53 GHz), not cool
- Governor ‘powersave’ runs at the minimum frequency (i.e. 800 MHz) where compilation may take forever
- Governor ‘ondemand’ jumps from mode to mode depending on workload: still reboots from overheating
- Governor ‘userspace’ allows me to keep the frequency at 1.60 GHz — nice!
You can check for availability of a specific CPU governor with
$ zgrep FREQ_GOV_ /proc/config.gz CONFIG_CPU_FREQ_GOV_PERFORMANCE=y CONFIG_CPU_FREQ_GOV_POWERSAVE=y CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_GOV_ONDEMAND=y # CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
and make use of modprobe(8) as needed.
So with a single call
$ sudo cpufreq-set -r --min 1.60Ghz --max 1.60Ghz -g userspace
that box seems to stop overheating for now. Nice!
[EDIT]: What Robin is suggesting in the comments would make
$ sudo cpufreq-set -r --max 1.60GHz -g ondemand
on the shell.
The Work around overheating with cpufreq-set by Sebastian Pipping, unless otherwise expressly stated, is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.