Laptop saya (HP dengan chip i3) terlalu panas seperti orang gila setiap kali saya menjalankan proses sumber daya yang berat (seperti kompilasi besar, mengekstraksi tarbal besar atau ... memainkan Flash).
Saat ini saya mencari beberapa solusi pendingin tetapi mendapat ide untuk membatasi konsumsi CPU global. Saya pikir jika CPU ditutup, kemungkinan suhu akan berhenti meningkat dengan panik, dan saya bersedia mengorbankan sedikit kinerja untuk menyelesaikan pekerjaan.
- Apakah saya salah dalam alasan saya?
- Bagaimana saya bisa melanjutkan untuk membatasi penggunaan CPU secara keseluruhan?
Jika itu membantu, saya menjalankan Debian.
Jawaban:
Saya tidak tahu bahwa membatasi CPU untuk seluruh sistem adalah sesuatu yang mungkin dilakukan tanpa banyak peretasan, tetapi Anda dapat dengan mudah membatasi jumlah CPU yang digunakan oleh satu proses menggunakan cpulimit
Satu-satunya cara saya bisa memikirkan Anda untuk dapat menggunakan ini secara efektif adalah menulis skrip pembungkus (tidak bisa benar-benar menyebutnya skrip, itu sangat kecil) untuk aplikasi yang Anda tahu adalah sumber daya babi. Katakan misalnya, Anda menemukan google-chrome menggunakan banyak CPU, Anda dapat mengganti biner google-chrome di jalur Anda dengan sesuatu seperti:
Saya belum menguji ini jadi bawa dengan sebutir garam. Dari situs web cpulimit, sepertinya Anda mungkin dapat menetapkan aturan batas cpu pada aplikasi yang berbeda. Saya tidak yakin, Anda harus melihatnya.
sumber
Alternatif lain yang belum disebutkan adalah
cpufrequtils
, yang telah saya instal dan gunakan di laptop saya dengan Debian 6. Ini memungkinkan Anda untuk mengubah algoritme ( gubernur , dalamcpufrequtils
terminologi) yang digunakan kernel untuk skala kecepatan clock naik dan turun sebagai respons untuk memuat - khususnya,userspace
gubernur memungkinkan Anda untuk mengunci frekuensi pada sesuatu yang Anda pilih (tentu saja CPU harus mampu berjalan pada kecepatan ini).Saya telah menggunakannya untuk mengunci Atom pada 800MHz, bukan 1.6GHz, misalnya. Ini sangat mudah digunakan.
sumber
Anda dapat membatasi inti CPU Anda secara otomatis berdasarkan suhu menggunakan skrip temp_throttle . Itu dapat berjalan di latar belakang saat Anda fokus pada hal-hal yang lebih penting. Contoh cara menjalankan:
* Disclaimer- Saya adalah penulis dan pengelola temp_throttle *
sumber
Pergilah ke bios dan underclock cpu. - Tidak perlu kepintaran.
sumber
Kunjungi halaman ini, ini menjelaskan cara menginstal dan menggunakan
cpulimit
di Debian dan Ubuntu:http://www.howtoforge.com/how-to-limit-cpu-usage-of-a-process-with-cpulimit-debian-ubuntu
sumber
Tidak perlu mengubah gubernur, Anda hanya perlu mengubah nilai
/sys/devices/system/cpu/*/cpufreq/scaling_max_freq
untuk setiap inti cpu.Misalnya dengan ini untuk loop:
lihat juga skrip setcpu saya .
( perintah asli ditemukan di sini )
sumber
Anda dapat menggunakan
renice
untuk mengubah prioritas proses dengan proses atau id grup. Dari contoh untukrenice
:Sesuaikan nilai bagus sehingga ID proses 987 dan 32 akan memiliki nilai bagus lebih rendah:
renice -n 5 -p 987 32
Sesuaikan nilai bagus sehingga ID grup 324 dan 76 akan memiliki nilai bagus yang lebih tinggi, jika pengguna memiliki hak yang sesuai untuk melakukannya:
renice -n -4 -g 324 76
Sesuaikan nilai bagus sehingga angka pengguna ID 8 dan pengguna juga akan memiliki nilai bagus yang lebih rendah:
renice -n 4 -u 8 sas
sumber