为什么kworker cpu使用率如此之高?

我最近在我的三星笔记本电脑和Windows 7上安装了Ubuntu 12.04。每当我使用Ubuntu(即使它闲置)时,kworker几乎占用了8核中的90%。 虽然它并没有真正影响我的使用,但它让我感到烦恼,我担心它可能会损害我的处理器。 我甚至尝试安装另一个Linux发行版(Linux Mint),而kworker也引发了同样的问题。 所以我不知道该怎么做。 我将衷心感谢您的帮助。

在此处输入图像描述

相反,我认为这种CPU使用率不正常,并且与众所周知的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命令屏幕中的前两个进程)。

“kworker”是内核工作线程的占位符进程,它执行内核的大部分实际处理,特别是在存在中断,定时器,I / O等的情况下。这些通常对应于绝大多数已分配的“系统“运行进程的时间。 它不能以任何方式安全地从系统中删除,并且与nepomuk或KDE完全无关(除非这些程序可能会进行系统调用,这可能需要内核执行某些操作)

有关kworker的更多信息,请查看以下链接: – 什么是KWorker及其重要性

我昨天安装了Linux Mint 17并且今天晚上注意到kworker消耗了4个cpu中的一个100%。 我运行了上面的检查,但没有找到除0以外的任何中断。

在检查我通常运行的服务时,我注意到关闭nfs服务器会将kworker线程放回zilch。 重启nfs服务器并没有解决问题。

我发现了这个错误报告( https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1322407 ),这表明在内核3.13.0-32.57中修复了类似的nfs服务器问题。 关于Mint 17的最新更新似乎正在运行内核3.13.0-24-generic,所以我没有在运行的内核中修复。 我不知道这是否会帮助其他人,但我系统地去了每个nfs客户端机器并做了一个’umount -a -t nfs’并等待它是否有任何影响。 我发现客户似乎导致了这个问题,因为在我卸下之后,kworker一无所获。 我重新安装了客户端’mount -a -t nfs’上的nfs共享,问题没有返回。