当前位置: 首页>>技术问答>>正文


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

, , ,

问题描述

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

12.04,performance,cpu,ubuntu

最佳解决方法

相反,我认为这个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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/2592.html,未经允许,请勿转载。