问题描述
我最近在我的三星笔记本电脑和Windows 7上安装了Ubuntu 12.04。每当我使用Ubuntu(即使它闲置)时,kworker几乎占用了8核之一的90%。虽然它并没有真正影响我的使用,但它让我感到烦恼,我担心它可能会损害我的处理器。我甚至尝试安装另一个Linux发行版(Linux Mint),而kworker也引发了同样的问题。所以我不知道该怎么办。我将衷心感谢您的帮助。
最佳解决方法
相反,我认为这个CPU使用率不正常,与well-known kworker bug有关:https://bugs.launchpad.net/ubuntu/+source/linux/+bug/887793
对我和其他许多人来说,解决方案首先是找出导致坏东西的”gpe”,例如:
grep . -r /sys/firmware/acpi/interrupts/
并检查一个高值(我的是gpe13 – 值为200K – 所以,如果不同,你必须相应地改变它)。之后:
~ cp /sys/firmware/acpi/interrupts/gpe13 /pathtobackup
~ crontab -e
添加此行,因此每次启动/重启时都会执行:
@reboot echo "disable" > /sys/firmware/acpi/interrupts/gpe13
保存/退出。然后,在从暂停唤醒后也使其工作:
~ touch /etc/pm/sleep.d/30_disable_gpe13
~ chmod +x /etc/pm/sleep.d/30_disable_gpe13
~ vim /etc/pm/sleep.d/30_disable_gpe13
添加这个东西:
#!/bin/bash
case "$1" in
thaw|resume)
echo disable > /sys/firmware/acpi/interrupts/gpe13 2>/dev/null
;;
*)
;;
esac
exit $?
保存/退出,完成。
经过测试和处理:
Ubuntu 12.10 on Samsung Chronos 7 series - Model no. NP700Z7C --
Ubuntu 16.04.2 on Clevo - Model no. P650RS --
次佳解决方法
CPU使用率似乎正常,只有1个CPU(CPU1)使用率很高。总共有3个进程处于运行状态,其中两个是kworker和gnome-system-mo(你添加的top命令屏幕中的前2个进程)。
“kworker”是内核工作线程的占位符进程,它执行内核的大部分实际处理,尤其是在存在中断,定时器,I /O等的情况下。这些通常对应于绝大多数分配的”system”时间。运行过程。它不能以任何方式安全地从系统中删除,并且与nepomuk或KDE完全无关(除非这些程序可能会进行系统调用,这可能需要内核执行某些操作)
有关kworker的更多信息,请查看以下链接: – What’s KWorker and it’s importance