web-dev-qa-db-ja.com

プロセスが使用できるCPUパワーを制限することは可能ですか?

プロセスにどれだけのプロセッサパワーが必要かを伝える方法はありますか?

問題は、Arista(ビデオコンバーター)でビデオを変換していることです。タスクモニターを見ると、ファンが狂ったように動いていることに悩まされています。CPUの92%を占めています。

私は(どういうわけか)それがたった20%かかることができるとそれを言うことができますか?

ありがとう

17
equivalent8

cpulimit ツールがあります( debianリポジトリ にも存在し、他のディストリビューションにあるはずです)。

使い方はとても簡単です。

cpulimit -p PID -l MAX_CPU_LEVEL

プロセス名、またはバイナリへのフルパスを使用することもできます。詳細については、 manページ を参照してください。

21
rush

もう1つの方法は、 cgroups (wikipediaの記事 ここ )と呼ばれる(比較的)新しいカーネルインターフェイスを使用することです。これにより、プロセス/ユーザー/グループが消費できるCPU /メモリ/ ioなどの量をよりきめ細かく制御できます。

8
Tommy

これは正確に探しているものではないかもしれませんが、reniceプログラムを使用してプログラムの優先度を変更し、システム上の他のアプリケーションの速度が低下しないようにすることができます。 renice -n 20 -p [pid]、[pid]がAristaのプロセスIDに置き換えられると、リソース使用量が減少し、システムの速度低下が確実に減少します。

0
re-cursion