この問題はかなり前から存在していたように思われるので、質問を投げることを考えてみてください。
たった今、Macbook Proに新しいUbuntu 18.04をインストールしましたが、kworkerが大量のCPUを占有していることに気付きました。
3411 root 20 0 0 0 0 R 84,4 0,0 6:12.23 kworker/0:0
ここに私のセットアップに関する他の情報があります:
lsb_release -a
:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04 LTS
Release: 18.04
Codename: bionic
uname -a
:
Linux MacbookPro 4.15.0-20-generic #21-Ubuntu SMP Tue Apr 24 06:16:15 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
今、私はこの問題に関する答えをグーグルで検索し、実際にたくさん見つけました。このスレッドの答えは私のためのトリックをしました: なぜkworker cpuの使用量が非常に高くなるのですか?
私がしなければならなかったのは、gpe06
を無効にして、kworker-processを独り占めしていたことです。まず、CPUの負荷が高くなるgpeを探しました。
grep . -r /sys/firmware/acpi/interrupts/
次に、リストを調べて、リソースを占有するgpeを見つけて無効にします。
cp /sys/firmware/acpi/interrupts/gpe06 /root/gpe06.backup
echo "disable" > /sys/firmware/acpi/interrupts/gpe06
私の問題は、マシンを起動すると、いまいましいkworkerが再び実行されることです。毎回手動で無効にできることを知っていますが、これにはより良い解決策がありますか?上記でリンクしたUbuntuのAsk Ubuntuスレッドの指示に従ってみましたが、これを起動時に実行する方法については時代遅れのガイドのようです。
したがって、ラップトップを起動するたびにgpe06を無効にする必要がないように、これを永続的なソリューションにするにはどうすればよいですか?
これによると: https://www.reddit.com/r/Ubuntu/comments/7uwz3r/1604_lts_vs_1710_on_2015_macbook_pro/dto1mtb/
この次の「トリック」は私にとってはうまく機能します(同じマシン、同じ問題、同じgpe):
Sudo -s
crontab -e
最後に次の行を追加します。
@reboot echo disable > /sys/firmware/acpi/interrupts/gpe06