web-dev-qa-db-ja.com

Kworker、それは何ですか?なぜCPUを大量に消費するのですか?

最近Kubuntu Natty Beta 1にアップグレードしましたが、プロセスkworkerで多くの問題を抱えています。現時点では、CPUのほぼ半分を使用しています。また、奇妙なことに、USBポートに影響があるようです。 USBドライブを接続すると、プロセスkworkerがハイパードライブになり、作業できなくなります。

バグを報告することを考えましたが、kworkerが何であるかについての合理的な説明すら見当たらなかったので、最初に調べる必要があると考えました。

136
davorao

「kworker」は、カーネルワーカースレッドのプレースホルダープロセスです。カーネルスレッドは、特に割り込み、タイマー、I/Oなどがある場合にカーネルの実際の処理の大部分を実行します。システム」実行中のプロセス時間。何らかの方法でシステムから安全に削除できるものではなく、nepomukやKDEとはまったく関係ありません(これらのプログラムはシステムコールを行う場合があり、カーネルが何かを行う必要がある場合があります)。

2.6.36開発中に開始された比較的アイドル状態のシステムの過剰なkworkerアクティビティのレポート( 例の説明 )、および2.6.38での混乱と問題の幅広いレポートがありました(これらのレポートの多くはWord 「Natty」なので、これらの人々は2.6.35(Ubuntu 10.10で配布)と2.6.38(Ubuntu 11.04で配布)の間でカーネルを使用していないと思います。

私は、これを1人または別のユーザーに「修正」した何かの報告をたくさん見つけました。ほとんどの「修正」は、さまざまな種類のカーネルの更新に関連しているようです。特定の問題に対する更新を追跡できる場合、誤動作しないようにパッチが適用されたドライバーまたはカーネルサービスであることが多いようです:カーネルには、動作を引き起こす可能性のあるものが非常に多数あると感じていますこれはkworkerの過度の使用として観察されます。

過剰なkworkerアクティビティが原因でシステムを使用できない場合は、より少ないことを試みることをお勧めします。何もしていないと思われる場合は、長時間実行されているサービスまたはタイマー(RSSリーダー、メールリーダー、ファイルインデクサー、アクティビティトラッカーなど)をシャットダウンしてみてください。これが機能しない場合は、再起動してみてください。システムでプリブート環境でハードウェアを有効または無効にできる場合、使用していないハードウェアをオフにしてみてください。再起動するたびに何かを実行する前に発生する場合は、アンインストールを試みることができますが、この時点でsyscallプロファイリングツールを実行して、この過負荷の原因と思われる特定のアプリケーションを追跡する必要があります。

特定のシステムが、将来のカーネルアップグレードでこの動作の表現を停止することを期待してください(そして、これの最も一般的な原因の多くは解決されています)。

108
Emmet Hikory

kworkerがCPUを独占する理由(続き)?ここで他の答え の代替として、PerfはよりプロフェッショナルですCPUを占有しているカーネルタスクを分析する方法:

  1. インストールperf

    Sudo apt-get install linux-tools-common linux-tools-3.11.0-15-generic
    

    (2番目のパッケージは、カーネルのバージョンと一致する必要があります。最初にlinux-tools-commonだけをインストールし、perfを呼び出して、必要なパッケージを通知できます。)

  2. すべてのCPUで約10秒間のバックトレースを記録します。

    Sudo perf record -g -a sleep 10
    
  3. 記録を分析します。

    Sudo perf report
    

    で呼び出しグラフをナビゲートしますおよび Enter

70
tanius

みんなに知らせるためだけに。私はこの問題に遭遇し、perf(これは素晴らしいツールです)をインストールしましたが、これはスピンロックとXFSを指していました。それはNFSを指しています。それから、マウントの1つがスペース不足であることに気付きました。スペースを解放すると、kworker CPUが0になりました。

どうやら、これはビジー状態のNFSサーバーのドライブ容量が不足していることの症状である可能性があります。

8
Erik Aronesty

最近、Ubuntu Nattyを外部ドライブusb wdパスポートにインストールしました。約2歳のデスクトップで起動すると、すべてが魅力のように機能します。新しいラップトップ(MSI gt680rシステム)で起動すると、コンピューターをスリープ状態から復帰させた後、または別のusbディスクを接続すると速度が低下します。

KworkerプロセスはますますCPUを消費し、マウスは時々フリーズします。

さまざまなフォーラムでいくつかの解決策を読みましたが、うまくいきませんでした。

私はラップトップのBIOSにアクセスしました。

Hand XCHI OFF: Enabled
EHCI Hand OFF: disabled

私が変更したのは:

Hand XCHI OFF: disabled
EHCI Hand OFF: disabled

そしてそれ以来、私のラップトップ上でもうそれはフリーズしません。

問題が修正された場合は、いつでも手を戻すことができます。

4
CedCannes
0
Extender