Đây là cách tôi giải quyết các vấn đề quá nhiệt không phải do một quy trình cụ thể gây ra, nhưng do máy tính xách tay của tôi không thể làm giảm nhiệt do chạy trên tải CPU cao trong thời gian dài hơn. Sự khác biệt chính đối với giải pháp được cung cấp bởi chính da khỉ là tôi sử dụng thang đo tần số cpu, thay vì sử dụng cpulimit trên một quy trình cụ thể. Vì dù sao tôi cũng đã cài đặt Psensor và chạy, tôi cõng trên Psensor. Một daemon như da mã khỉ được đề xuất cũng nên hoạt động, tuy nhiên cần có hai ngưỡng (tối thiểu và tối đa). Trong Psensor (Tùy chọn cảm biến-> Báo thức) Tôi đặt báo thức cho cảm biến có liên quan nếu trở nên cao hơn ngưỡng cao (tôi sử dụng 85) hoặc thấp hơn ngưỡng thấp (tôi sử dụng 80). Trong Preferences-> Sensors-> Script được thực thi khi có cảnh báo được nêu lên, tôi gọi kịch bản của mình là Heatcontrol.sh như thế này:
/ALLUSER/heatcontrol.sh powersave ondemand 82
Tham số đầu tiên là scaling_gocateor hợp lệ làm giảm tần số CPU, ví dụ như powersave. Tham số thứ hai là scaling_gocateor mặc định - ondemand cho hầu hết các hệ thống. Tham số thứ ba là nhiệt độ giữa ngưỡng thấp và cao (giá trị chính xác không quan trọng). Psensor thêm hai tham số nữa: id cảm biến và nhiệt độ được báo cáo.
Và đây là kịch bản Heatcontrol.sh của tôi:
#!/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
Hoạt động tốt với tôi (UBUNTU 14.04 LTS).
Là một người mới làm quen với Linux và bash, tôi đã sử dụng một số tài nguyên, bao gồm:
https://wiki.archlinux.org/index.php/CPU_frequency_scaling
http://elinux.org/Jetson/Performance#Viewing_the_cản_CPU_status