全体的なCPU消費を制限する方法はありますか?


23

私のラップトップ(i3チップを搭載したHP)は、リソースを大量に使用するプロセス(大規模なコンパイル、大きなtarballの抽出、または... Flashの実行など)を実行するたびに異常に過熱します。

現在、いくつかの冷却ソリューションを検討していますが、グローバルなCPU消費を制限するというアイデアを得ました。CPUに上限があると、温度が急激に上昇しなくなる可能性があり、ジョブを完了するためにパフォーマンスを少し犠牲にしたいと考えました。

  1. 私の推論は間違っていますか?
  2. CPU使用率を全体的に制限するにはどうすればよいですか?

うまくいけば、Debianを実行しています。


私はあなたが、のcgroupでこれを行う、私はよく分からないので、答えの代わりにポインタとしてここにこれを残しことができると信じて、私は...どのように正確にはわからない
derobert

cgroupを使用してみることができます。同様の問題のある質問を次に示し
Grzegorz Wierzowiecki 14年

回答:


10

CPUをシステム全体に制限することは、多くのハッキングなしで可能であることはわかりませんが、cpulimitを使用して単一プロセスで使用されるCPUの量を簡単に制限できます

これを効果的に使用できると考えられる唯一の方法は、リソースを占有していることがわかっているアプリケーション用のラッパースクリプトを作成することです(実際にはスクリプトと呼ぶことはできません。たとえば、google-chromeが大量のCPUを使用している場合、パスのgoogle-chromeバイナリを次のようなものに置き換えることができます。

#! /bin/bash
cpulimit --limit 70 /usr/bin/google-chrome-bin

私はこれをテストしていませんので、塩の粒でそれを取る。cpulimitのWebサイトからは、さまざまなアプリケーションでCPU制限のルールを設定できる可能性があるようです。よくわかりません、あなたは見てみる必要があります。


10

言及されていないもう1つの代替方法はcpufrequtils、Debian 6のラップトップにインストールして使用したものです。これにより、カーネルが応答してクロックレートを増減するために使用するアルゴリズム(用語では、ガバナーcpufrequtils)を変更できますロードする-特に、userspaceガバナーは、選択した周波数にロックすることができます(もちろん、CPUはこの速度で実行できる必要があります)。

たとえば、1.6 GHzではなく800 MHzでAtomをロックするために使用しました。使い方はとても簡単です。


1
これは受け入れられた答えでなければなりません。(またはtemp_throttle)
ヴァイクヘルメッツ14

6

スクリプトtemp_throttleを使用して、温度に基づいてCPUコアを自動的に制限できます。より重要なことに集中しながら、バックグラウンドで実行できます。実行方法の例:

sudo ./temp_throttle.sh 80 # Will limit CPU cores when 80C is reached.

*免責事項-私はtemp_throttle *の作成者および管理者です。


3

BIOSに移動してCPUをアンダークロックします。-賢さの必要はありません。


アンダークロックをサポートしないBIOSについてはどうですか?
ダボロス

1
cgroupsを使用しますが、周波数設定を変更できないBIOSは見たことがありません。
Sirex

私の(確かにかなりひどい作りの)alienware m14x r1ラップトップにはそのような設定がなく、ブート順序とシステム時間以外にBIOSを変更することはほとんどできません。
ダボロス



-2

を使用reniceして、プロセスまたはグループIDによってプロセスの優先度を変更できます。以下の例からrenice

  1. プロセスID 987および32のnice値が低くなるようにnice値を調整します。

    renice -n 5 -p 987 32

  2. ユーザーに適切な特権がある場合は、グループID 324および76のnice値が高くなるようにnice値を調整します。

    renice -n -4 -g 324 76

  3. nice値を調整して、数値のユーザーID 8とユーザーsasのnice値を低くします。 renice -n 4 -u 8 sas


4
回答への追加の注意のみ:renice、nice、または他の同様のツールはCPUの温度には影響せず、問題のあるプロセスはCPUサイクルを消費し続けます。
ルーフォエルマグーフォ

2
niceとreniceはCPU消費を制限しません。単に優先順位を設定します。同時に他に何も実行されていない場合でも、プロセスはすべての処理能力を消費します。
rahmu
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.