Apakah mungkin membatasi berapa banyak daya CPU yang dapat diambil oleh suatu proses?


16

Saya bertanya-tanya, apakah ada cara untuk memberi tahu proses berapa banyak daya prosesor yang diperlukan?

Masalahnya adalah saya mengonversi video dengan Arista (pengonversi video) dan saya terganggu oleh kipas yang bekerja sangat gila, ketika saya melihat monitor tugas, ia mengambil alih 92% CPU.

Bisakah saya (entah bagaimana) mengatakannya bahwa hanya butuh 20%?

Terima kasih

Jawaban:


20

Ada alat cpulimit (juga ada di debian repo dan harus di distro lain).

Penggunaannya cukup sederhana:

cpulimit -p PID -l MAX_CPU_LEVEL

Anda juga dapat menggunakan nama proses, atau path lengkap ke biner. Detail dapat Anda temukan di halaman manual .


1
ha-ha :), bekerja sempurna, berkat 1
equivalent8

3
Kode pada URL yang dicatat belum diperbarui dalam beberapa waktu. Grup lain telah mengambilnya dan melanjutkan pengembangan di limitcpu.sf.net .
James Sneeringer

7

Cara lain adalah dengan menggunakan (relatif) antarmuka kernel baru yang disebut cgroups (artikel wikipedia di sini ). Ini memungkinkan kontrol yang lebih baik dari berapa banyak CPU / memori / io / dll proses / pengguna / grup diperbolehkan untuk mengkonsumsi.


0

Meskipun ini mungkin bukan yang Anda cari, Anda dapat menggunakan reniceprogram untuk mengubah prioritas program agar tidak memperlambat aplikasi lain pada sistem. renice -n 20 -p [pid], di mana [pid] diganti dengan ID proses Arista kemungkinan akan menurunkan penggunaan sumber dayanya, dan pasti akan mengurangi perlambatan sistem.


1
OP tidak mengeluh tentang proses memperlambat aplikasi lain tetapi tentang kipas yang berjalan sangat gila, renicetidak bisa melakukan apa pun terhadap yang terakhir. Paling-paling itu akan memperlambat konverter video tetapi proses yang bersaing (jika ada) akan mempertahankan beban CPU seperti sebelumnya.
jlliagre
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.