CPU scaling vs Temperature

John Moser john.r.moser at gmail.com
Sun Mar 6 16:24:35 UTC 2011

So here's a thought:  I can read my fan speed, CPU temp, and CPU 
frequency scaling speed.

When my CPU is under extreme load my system shuts down.  Okay, I've 
noted this.  There was a layer of dust caked between the fan and heat 
sink... removed it, that helped.

Why not have a user-configurable critical temperature?  'sensors' 
reports my CPU's critical is 95C; but my system shuts down if I maintain 
above 80C long enough.  How about at 75C, CPU frequency scales down to 
minimum?  This seems sensible.  The value can be user-adjustable.

Other interesting ideas are an automatic suspend-to-RAM around the 80C 
mark, in which case if you come back out of it above 78C the system 
displays a message that says, "System running TOO HOT, will re-enter 
suspend mode in 15 seconds!  Please wait half an hour for the CPU to 
cool off, then save your work and shut down!"

The Linux kernel doesn't have a scheduler scaler, which would be nice.  
If the scheduler dedicated X% of CPU time to an infinite loop that runs 
HLT (i.e. the system idle process), then you could say, "Run this CPU 
under 500MHz," and if your CPU scales to 1GHz (mine has 1.9, 1.8, and 
1.0) and you scaled it to 1.0, the kernel would scale to a jittery 50% 
CPU idle.  This sort of software CPU scaling would probably only find 
use in these sorts of emergency cases.

More information about the Ubuntu-devel-discuss mailing list