web-dev-qa-db-ja.com

Kworkerは100%です-私はすべてを試しました!

これをチェックしてくれてありがとう。

jonathan@melange:~$ top

top - 05:21:08 up 44 min,  2 users,  load average: 1.21, 1.68, 1.98
Tasks: 351 total,   2 running, 349 sleeping,   0 stopped,   0 zombie
%Cpu(s):  4.3 us, 14.0 sy,  2.1 ni, 70.4 id,  8.9 wa,  0.0 hi,  0.3 si,  0.0 st
GiB Mem :   15.579 total,    0.173 free,    4.141 used,   11.264 buff/cache
GiB Swap:   15.910 total,   15.868 free,    0.042 used.   11.014 avail Mem 

  PID  PPID   UID USER     RUSER    TTY          TIME+  %CPU %MEM S COMMAND                                                                                                                                   
   67     2     0 root     root     ?         22:22.40 100.0  0.0 R kworker/0:1 

セットアップ-ubuntu 16.10。 4.8.0-41-generic。 Nvidiaドライバーを搭載した最新のIntelベースのラップトップ。お知らせください。必要な情報を提供いたします。これらは問題なく動作しており、これらがこの問題に関係していると考える理由は何もありません。

私は実際に先週、すでにaskubuntuでこれを質問していて、Freenode` #ubuntuで数回繰り返していますが、誰も私の質問に答えません:(

私はいくつかのパフォーマンスレポートを

Sudo perf record -a -g sleep 10
Sudo perf report

いくつかの結果

Samples: 92K of event 'cycles:ppp', Event count (approx.): 58330337004406                                                                                                                                     
  Children      Self  Command          Shared Object                        Symbol                                                                                                                           ◆
+   94.27%     0.00%  swapper          [kernel.kallsyms]                    [k] cpu_startup_entry                                                                                                            ▒
+   94.27%     0.00%  swapper          [kernel.kallsyms]                    [k] start_secondary                                                                                                              ▒
+   77.29%     0.00%  swapper          [kernel.kallsyms]                    [k] schedule_preempt_disabled                                                                                                    ▒
-   77.29%    77.29%  swapper          [kernel.kallsyms]                    [k] __schedule                                                                                                                   ▒
     77.29% start_secondary                                                                                                                                                                                  ▒
        cpu_startup_entry                                                                                                                                                                                    ▒
      - schedule_preempt_disabled                                                                                                                                                                            ▒
         - 77.29% schedule                                                                                                                                                                                   ▒
              __schedule                                                                                                                                                                                     ▒
+   77.29%     0.00%  swapper          [kernel.kallsyms]                    [k] schedule                                                                                                                     ▒
+   16.99%     0.00%  swapper          [kernel.kallsyms]                    [k] call_cpuidle                                                                                                                 ▒
+   16.99%     0.00%  swapper          [kernel.kallsyms]                    [k] cpuidle_enter                                                                                                                ▒
+   16.99%     0.00%  swapper          [kernel.kallsyms]                    [k] cpuidle_enter_state                                                                                                          ▒
-   16.99%    16.99%  swapper          [kernel.kallsyms]                    [k] intel_idle                                                                                                                   ▒
     16.98% start_secondary                                                                                                                                                                                  ▒
        cpu_startup_entry                                                                                                                                                                                    ▒
        call_cpuidle                                                                                                                                                                                         ▒
      - cpuidle_enter                                                                                                                                                                                        ▒
         - 16.98% cpuidle_enter_state                                                                                                                                                                        ▒
              intel_idle                                                                                                                                                                                     ▒
+    5.65%     0.00%  pool             [unknown]                            [.] 0000000000000000                                                                                                             ▒
+    5.65%     5.65%  pool             libc-2.24.so                         [.] re_compile_internal                                                                                                          ▒
+    5.65%     0.00%  pool             [unknown]                            [.] 0x00007f049804d628                                                                                                           ▒
+    5.65%     0.00%  pool             [unknown]                            [.] 0x00007f049804d6a8                                                                                                           ▒
+    5.65%     0.00%  pool             [unknown]                            [.] 0x00007f049804d3d8                                                                                                           ▒
+    5.65%     0.00%  pool             [unknown]                            [.] 0x00007f049804d768                                                                                                           ▒
Cannot load tips.txt file, please install perf!

私は、dmesg、過熱メッセージ(それが私がここにいる理由)、およびMSFT0101:00に関する他のいくつかのメッセージを確認しました。これらのメッセージは、BIOSが有効になっているTPMモジュールをカーネルが認識していないためと思われます。私はこれはこの問題では重要ではないと考えています

別の question があるkworkerスレッドについて、これに従って次のことを示唆しています thread

$ echo workqueue:workqueue_queue_work > /sys/kernel/debug/tracing/set_event
$ cat /sys/kernel/debug/tracing/trace_pipe > out.txt
(wait a few secs)
^C

しかし、それは機能しません!

jonathan@melange:~$ Sudo mount -t debugfs nodev /sys/kernel/debug
mount: nodev is already mounted or /sys/kernel/debug busy
jonathan@melange:~$ Sudo echo workqueue:workqueue_queue_work > /sys/kernel/debug/tracing/set_event
bash: /sys/kernel/debug/tracing/set_event: Permission denied
jonathan@melange:~$ Sudo cat /proc/67/stack
[<ffffffffffffffff>] 0xffffffffffffffff

何か案は?!

更新

この質問を送信する前に、私は Kworker、それは何ですか、なぜそれがそれほど多くのCPUを消費するのですか? を参照として使用していました。そのため、dropbox、insync(googleドライブ)、crashplan、keybase、Varietyバックグラウンド、マルチロードインジケーター、psensor、guakeなどの実行時間の長いプロセスを無効化/アンインストールしてみました。 (私はほとんどの場合かなり滑らかな設定をしているように感じます...)しかし何も助けにならなかったようです。

誤動作しているwifi、nvidiaドライバー、またはusbドライバーを示唆する他の疑問が潜んでいました。しかし、私のログにはこれを示唆するものもありませんでした。これらのソリューションは、ほとんどの場合、ありがたいことに、新しいnvidiaドライバーを見つけるか、カーネルを更新するか、「対処する」だけでした。私のラップトップは既にかなり最新の状態で、16.04に留まる理由はありません。また、Intelドライバーと同様にnvidia ppaを既にアクティブ化しているので、これはあまり役に立ちませんでした。

おそらく、kworkerは実際にはラップトップの過熱-> CPUスロットル+ CPUファン管理の結果でした。原因ではありません。 CPUの過熱を停止する で示唆されているように、ファンを掃除するために圧縮空気を使用しました(これは、9か月前のラップトップで問題になるとは思いませんでしたが、実際にはほこりの一部)そして、ファンが55°Cで作動することを示唆するThermal-conf.xmlを調査します(ただし、ここで私ができることにはまだ取り組んでいます)

これが実際に解決策であると考える。すぐに報告します。

アップデート2

そのため、Acer BIOSのアップデートを実行すると、私のセキュアブートセットアップに関連するすべてが完全に台無しになり、efiファイルが破損したため、ubuntu efiキーととwindows efiキーを再生成する方法を見つけるのに数日かかりました。

ほこりを取り除いてみましたが、BIOSの問題を始めるまでの2日間は間違いなく役に立ちました。

しかし、kworkerが復活しました(もちろん、私が知る限り、それは同じです)。もう少し情報があります。 CPUがスロットルではなく、最大に留まっていることがわかります。ファンは動作していますが、デバイスは60度のマークの周りにしか座っていないので、これは加熱による深刻な問題ではありません。

他のスレッドからのコマンドは、Sudoを使用するだけでなく、rootユーザーに昇格する必要があります。 Sudo suを実行してスタックトレースを取得すると、次のようになります。

[<ffffffff98a9dcea>] worker_thread+0xca/0x500
[<ffffffff98aa40d8>] kthread+0xd8/0xf0
[<ffffffff992a071f>] ret_from_fork+0x1f/0x40
[<ffffffffffffffff>] 0xffffffffffffffff

特に私には役に立たないようです。

ずいぶん後で...

この答えはまだ多くの意見を得ているので、他に何が起こったかについて覚えていることを追加したいと思いました。私はNvidia gpuでAspire V 15 Nitro 592Gラップトップを実行しています。 Wi-Fiが不安定で、マイクが機能しない、Nvidiaドライバーがgnome Shellとモニターを繰り返しクラッシュさせるなどの問題が発生します。動作しているときはかなり強力ですが、これは最高のubuntuマシンではありません。正直なところ、私は今Ubuntu 17.10を実行していますが、このマシンを動作させるにはまだ大きな問題があります。

ファンの掃除はコメントで助けになりそうだと私は書いた。それは確かに物事をより静かにした。しかし、それは実際には以下の組み合わせであったと思います:

  • トラッカー(全文検索デーモン)->クレイジーなリソースの独占
  • 当時のwifiドライバーはひどいものでした
  • 多様性(壁紙スイッチャー)+デュアルモニター+ nvidia + gnomeシェル->信頼性の低いモニターセットアップとgnomeシェルでの大規模なRAMリーク、
  • マルチロードシェル拡張もメモリリーク

これは、さまざまな問題を抱えている新しいユーザーを助けていないことに気づきました。おそらく、それまでは診断が簡単になるでしょう。幸運を!

5
jbbiomed

この質問はもう更新されていないので放棄されたようですが、とにかく試してみましょう。過度の割り込みが発生して、マシンの速度が低下するところを見てきました。これはgrep . -r /sys/firmware/acpi/interrupts/で確認できます。

関連: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/88779https://bugzilla.kernel.org/show_bug.cgi?id= 53071https://forum.ubuntuusers.de/topic/kworker-cpu-load/ (ドイツ語)

2
Jan

「Permission denied」エラーは、ルートとして/sys/kernel/debug/tracing/set_eventを操作することで簡単に解決できると思います。

別のアイデアは、問題が最初からそこにあるのか、何かがそれを引き起こしているのかを把握することです。最初のケースでは、単純なアプローチは、ほとんどのドライバーを無効にして起動してから、それらを1つずつ再度有効にして原因を特定することです。

何かが問題を引き起こした場合、それが何かを知る必要があります。過剰なCPU使用率がディスクIOの急上昇によって引き起こされ、キャッシュに関連する/proc/sys/vm/パラメータのチューニングが大きな助けとなるケースを見てきました。

1