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 alta carga de CPU por longos períodos de tempo. A principal diferença para a solução oferecida pelo próprio code-monkey é que eu uso o escalonamento de frequência da CPU, em vez de usar o cpulimit em um processo específico. Desde que eu tenho Psensor instalado e funcionando de qualquer maneira, eu pegar carona no Psensor. Um daemon como o da code monkey sugerido também deve funcionar, porém dois limiares (min e max) são necessários. Em Psensor (Preferências do Sensor - > Alarme) eu configuro um alarme para o sensor relevante se ficar acima do limite alto (uso 85) ou abaixo do limite baixo (uso 80). Em Preferências - > Sensores - > Script executado quando um alarme é gerado Eu chamo meu script de 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 ex. economia de energia. O segundo parâmetro é o padrão scaling_governor - ondemand para a maioria dos sistemas. O terceiro parâmetro é uma temperatura entre o limiar baixo e alto (o valor exato não é importante). Psensor adiciona mais dois parâmetros: um id de sensor e a temperatura informada.
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 novato no Linux e no bash, usei vários recursos, incluindo:
link
link