My laptop got too hot, and shut down — very inconvenient for a student to lose data, so I spent a little time figuring out how to solve the problem. (I run Debian GNU-Linux) on a Toshiba laptop (Satellite A115) which has an amd-64 x2 (tk-55) processor running at 1800, 1600, and 800mhz.
I installed something called cpufreqd after first trying to write a bash-script and realizing that there had to be a better solution. I found that cpufreqd allowed me to to dynamically set the ondemand governor, changing the maximum speed according to temperature. This is exactly what I wanted. I set it up to run the ondemand governor unrestricted until the CPU reaches 60°C, then cap the speed at 1600, cap the speed at 800 if it passes 70°c, and if it gets to 85°c suspend to ram. What follows is my /etc/cpufreqd.conf file:
# CPU Temp adjustments
name=CPU very hot!
I don’t know if this is helpful, but if anyone else uses linux, and has trouble with overheating this might be a solution.