Ubuntu 18.04 /w Macbook Pro: Kworker一直占用我的CPU资源。

刚刚想问个问题,因为这个问题似乎已经存在了很长时间。
刚刚我在我的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,然后占用CPU资源的kworker进程就消失了。首先我找到了导致高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进程又在运行。我知道我可以每次手动禁用它,但想知道是否有更好的解决方案?我尝试按照我上面链接的Ask Ubuntu主题中的说明进行操作,但似乎这是一个关于如何在启动时运行的过时指南。
那么,我该如何使这成为一个永久解决方案,以便我不必每次启动笔记本电脑时都禁用gpe06呢?
2个回答


太棒了,问题解决了,谢谢!自己记住:要学会看说明书... :D - kobra

我在一台2006年的旧Macbook上运行Lubuntu 20.10,5.8内核时遇到了同样的问题。 在我的情况下,解决办法是使用引导参数屏蔽gpe17。
我在GRUB中添加了引导参数acpi_mask_gpe=0x17,并重新启动。
将acpi_mask_gpe=0x17添加到/etc/default/grub文件的GRUB_CMDLINE_LINUX_DEFAULT行中,然后运行update-grub并重新启动。
这解决了高CPU利用率的问题。
我使用以下命令找到了问题: grep . -r /sys/firmware/acpi/interrupts/
问题如下: /sys/firmware/acpi/interrupts/gpe17: 3491042 EN enabled unmasked

谢谢你提供的解决方案。我正在享受这份宁静。没有风扇,没有CPU的疯狂。 - aug70co