Foi assim que resolvi meus problemas de superaquecimento que não foram causados por um processo específico, mas pela falha do meu laptop em dissipar o calor causado pela execução de uma carga de CPU alta por longos períodos de tempo. A principal diferença para a solução oferecida pelo próprio da code monkey é que eu uso a escala de frequência da CPU, em vez de usar a cpulimit em um processo específico. Desde que eu tenho o Psensor instalado e funcionando de qualquer maneira, uso o Psensor. Um daemon como o macaco de código da sugerido também deve funcionar, no entanto, dois limites (mínimo e máximo) são necessários. No Psensor (Preferências do sensor -> Alarme), defino um alarme para o sensor relevante se ficar mais alto que o limite alto (uso 85) ou mais baixo que o limite baixo (uso 80). Em Preferências-> Sensores-> Script executado quando um alarme é acionado, chamo meu script heatcontrol.sh assim:
/ALLUSER/heatcontrol.sh powersave ondemand 82
O primeiro parâmetro é um scaling_governor válido que reduz a frequência da CPU, por exemplo, economia de energia. O segundo parâmetro é o scaling_governor padrão - ondemand para a maioria dos sistemas. O terceiro parâmetro é uma temperatura entre o limite baixo e o alto (o valor exato não é importante). O psensor adiciona mais dois parâmetros: uma identificação do sensor e a temperatura relatada.
E este é o meu script heatcontrol.sh:
#!/bin/bash
# TempNZ is temperature reported by Psensor; strip of trailing °C
TempNZ=$5
bnum=`expr index "$TempNZ" "°"`
if (( bnum < 2 )); then
echo "ERROR"
fi
TempNZ=${TempNZ:0:$(($bnum-1))}
STR=$1
# Is this a low threshold alarm?
if [ "$TempNZ" -le "$3" ]; then
STR=$2
fi
sudo sh -c "echo '$STR' > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor"
# echo new scaling_governor
sudo cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
# play sound - audio feedback - optional
paplay /usr/share/sounds/ubuntu/stereo/message-new-instant.ogg
Funciona bem para mim (UBUNTU 14.04 LTS).
Sendo um iniciante no Linux e no bash, usei vários recursos, incluindo:
https://wiki.archlinux.org/index.php/CPU_frequency_scaling
http://elinux.org/Jetson/Performance#Viewing_the_current_CPU_status