Cara mengaktifkan perlindungan untuk suhu CPU

9

Desktop saya memiliki kebiasaan buruk. Ketika saya menjalankan beberapa aplikasi intensitas tinggi dan CPU saya berada pada penggunaan maksimum untuk jangka waktu tertentu, suhu inti naik dan komputer saya mati secara otomatis.

Apakah ada cara saya bisa memantau (menulis skrip) suhu CPU saya di latar belakang dan memiliki semacam peringatan ketika suhu di atas tertentu?

Saya menjalankan opensuse dengan dwm sebagai window manager saya. Saya biasanya menggunakan sensorsuntuk melihat suhu CPU saya.

n0pe
sumber
1
Di Linux, atau varian unix lainnya? Metode untuk mendapatkan suhu atau diberitahu tentang perubahan suhu berbeda antara varian unix.
Gilles 'SANGAT berhenti menjadi jahat'
@Gilles buruk saya, saya menambahkan informasi ke pertanyaan saya
n0pe
Setelah Anda melihat bahwa kenaikan suhu Anda harus menurunkan CPU Anda.
Nils

Jawaban:

5

Anda dapat menulis skrip untuk menampilkan suhu Anda di bilah status DWM, misalnya:

temp (){
    awk '{print $4"°C"}' <(acpi -t)
    echo $temp
}
xsetroot -name "$(temp)"

sensorsOutput Anda mungkin lebih kompleks, tergantung pada pengaturan Anda: ini bekerja pada salah satu mesin saya:

 awk '/temp1/ {print +$2"°C"}' <(sensors)

Jika Anda menambal di statuscolours , Anda juga dapat memiliki warna perubahan keluaran sebagai $temphit nilai yang lebih tinggi ...

Arch Wiki memiliki pengantar untuk menyiapkan skrip statusbar dasar dan situs DWM menyertakan contoh .xinitrc .

Anda dapat melihat dwm-statusskrip saya untuk lebih jelasnya: http://beta.intuxication.org/jasonwryan/archer/file/tip/Scripts/dwm-status

jasonwryan
sumber
Ini adalah ide yang sangat bagus yang tidak saya pikirkan. Saya tidak pernah benar-benar punya waktu untuk bermain-main dengan statusbar DWM jadi ini akan menyenangkan. Saya akan melihat apa yang bisa saya kelola dan berkomentar kembali.
n0pe
Bekerja dengan sempurna, dan sekarang saya memiliki statusbar yang disesuaikan dengan baik :)
n0pe
Luar biasa: ini memberi Anda sedikit ruang untuk bekerja dengan ...
jasonwryan
2

Saya memiliki masalah yang sama persis dan apa yang saya gunakan adalah paket "cpufreqtools" (atau hanya "cpufreq" - tidak ingat!).

Ini memberi Anda dua perintah: cpufreq-info dan cpufreq-set

cpufreq-info mencantumkan kecepatan CPU saat ini dan kecepatan min dan maks. dan langkah-langkah yang tersedia juga.

cpufreq-set lebih berguna bagi Anda karena Anda dapat membatasi kecepatan maksimum yang akan dicapai CPU Anda.

CPU rawan panas berlebih saya memiliki kecepatan 800MHz, 1,60GHz, dan 1,80GHz. SO, yang saya lakukan adalah membatasi hingga 1,60GHz seperti ini:

cpufreq-set --max 1.60Ghz

Bekerja seperti pesona!

Jika Anda lebih mahir dalam keterampilan Linux Anda, Anda bahkan bisa memasukkannya ke dalam skrip bootup sehingga selalu dijalankan segera setelah Linux Anda mulai.

Semoga berhasil.

Daniel
sumber
cpufrequtils (ubuntu 16.04).
Green Tree
1

Saya membuat skrip untuk secara langsung mengatasi masalah overheating jenis ini. Batasi CPU Anda berdasarkan suhu yang diinginkan. Ini berjalan secara otomatis di latar belakang seperti ini:

sudo ./temp_throttle.sh 80

Perintah itu akan membuat core CPU Anda melambat ketika mencapai 80 derajat Celcius. Saat suhu turun, core CPU akan dibiarkan berjalan lebih cepat lagi. Anda dapat menemukan temp_throttle di sini .

Sepero
sumber
1
Di masa depan, harap jangan berharap semua orang menjalankan Ubuntu dengan kebijakan sudo-everything default. Baik menyebutkan bahwa kita harus mengizinkan skrip dalam konfigurasi sudo atau (lebih baik) hanya menulis bahwa itu memerlukan hak akses root yang dapat dicapai melalui sudo. Atau - di Linux - jelaskan kapabilitas (seperti pada capabilities(7)halaman manual) yang diperlukan.
peterph