web-dev-qa-db-ja.com

kidle_injectは明確な理由なしにCPUパワーを使用します

I5-3250M、6GB RAM Dell Inspironラップトップでubuntu 14.04 LTSを使用しています。 CPU使用率モニターでは、CPUの使用率が非常に高く(実際に集中的なものを使用せずに)過熱につながることにずっと気づいていました。

システムモニターから確認したところ、最初はグラフィックカードに問題があるように見えました(AMD Radeon 7670M-Intel HD 4000のハイブリッドグラフィック)。とにかく、fglrx-updates(実際に過熱問題を修正した唯一のもの-fglrxとxorgは役に立たなかった)をインストールし、少しスムーズに実行しました。

Intel p-stateとthermaldもインストールしました。省電力の知事にそれを置くが、それでも運がない。また、tlpをインストールしました(それらの間に競合はありません)。

障害がcompizまたはAdobe-flashによるものかどうかを確認しようとしました。運がありません。また、HTML5は少し後にCPUを大量に使用するため、コンプのすべてよりも遅れます。

これらのすべてを実行した後、$ topコマンドの結果を見ていましたが、犯人はkidle_injectのようです。 CPUの50%を毎回使用します。仕方がありませんでしたが、kidle_inject/0からkidle_inject/3の4つのモジュールがあるように見えました。

それで、このkidle_injectは何ですか?私はこの件について決定的なものを見つけることができませんでした。リソースを集中的に使用するものを使用するとオンになり、使用を終了してから1〜2分間CPUを占有し続けます。

コンプが最終的に使用できるように、これをどのように修正できますか?低パフォーマンスでの使用時の最低温度は70℃です。私はLinuxに大きく依存しているので、ubuntuを使い続けたいと思っています(私はそれに非常に慣れており、好きになったので)。

-これは私のマシンのせいではない、と言わざるを得ない。 Windows 7で実行すると、低温で素晴らしい動作をします。

20
Fotis

Intel P-stateを(intel_pstate=enableGRUB_CMDLINE_LINUX_DEFAULTを介して)有効にしたため、powerclampドライバーも有効にしました。 powerclampドライバーは、プロセッサーを低電力状態に維持しようとしているため、電力消費が削減され、それほど多くの冷却は必要ありません。

これを行うには、アイドル時間を注入して、CPU上の各スレッドを一定時間アイドル状態にします。通常、この量は50%です。 kidle_injectプロセスのそれぞれに表示される50%が実際にCPUを動作させているわけではありません。むしろ、CPUnotが動作するように指示するため、電力消費が削減されます。全体的なCPU使用率はnot include kidle-injectであることに注意してください。

@ElderGeekが指摘したように、より少ないアイドル時間を注入するようにドライバーに指示できます。しかし、私はこれを試しましたが、失敗しました。カーネルがまだサポートしていない可能性があります。 powerclampがリクエストを無視している可能性があります。

18
saiarcot895

私のシステムではkidle_injectがすべてのCPUに50%を注入するため、ここには何らかのバグがあると考えられます。そのため、単一のスレッドプロセスを実行すると、実行されるCPUの残りの50%しか取得されません。 rmmod intel_powerclampはこれを修正します。

10
Ketil

パワークランプドライバーは、冷却デバイスとして一般的なサーマルレイヤーに登録されます。現在、サーマルゾーンにバインドされていません。

これが私のシステムの例です。

grep . /sys/class/thermal/cooling_device*/type

/sys/class/thermal/cooling_device0/type:Fan
/sys/class/thermal/cooling_device10/type:LCD
/sys/class/thermal/cooling_device1/type:Fan
/sys/class/thermal/cooling_device2/type:Fan
/sys/class/thermal/cooling_device3/type:Fan
/sys/class/thermal/cooling_device4/type:Fan
/sys/class/thermal/cooling_device5/type:Processor
/sys/class/thermal/cooling_device6/type:Processor
/sys/class/thermal/cooling_device7/type:Processor
/sys/class/thermal/cooling_device8/type:Processor
/sys/class/thermal/cooling_device9/type:intel_powerclamp

使用例:-25%のアイドル時間を注入するには:

Sudo sh -c "echo 25 > /sys/class/thermal/cooling_device9/cur_state

ソース: https://www.kernel.org/doc/Documentation/thermal/intel_powerclamp.txt

3
Elder Geek

温度とトリップポイントを見てみると

/sys/class/thermal/thermal_zone0/temp

そして

/sys/class/thermal/thermal_zone0/trip_point_0_temp

(@ elder-geek 前述のように、システムが非常に高温になってアイドルサイクルを注入することで温度を管理していることがわかります).

私の場合、これは今までで一番暑い日で、私のファンは故障しましたが、この機能のおかげで私のラップトップは生き残っています。

3
Neale Upstone