Linux kworker 占用CPU过高

Linux kworker 占用CPU过高先打开HTOPhtop如何按HK(大写)我们看到Kworker/0:0+events,下面参考下人家的回答什么是kworker?kworker表示进行“工作”(处理系统调用)的Linux内核进程。在进程列表中可以有多个:kworker/0:1在第一个CPU内核上kworker/1:1是一个,在第二个CPU内核上是一个,依此类推。为什么kworker占用您的CPU?…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

先打开HTOP

htop

然后按H K(大写)

Linux kworker 占用CPU过高

 我们看到Kworker/0:0+events占用了大量CPU,下面参考下人家的回答

什么是kworker? kworker表示进行“工作”(处理系统调用)的Linux内核进程。在进程列表中可以有多个:kworker/0:1在第一个CPU内核上kworker/1:1是一个,在第二个CPU内核上是一个,依此类推。

为什么kworker占用您的CPU?要找出kworker浪费您CPU的原因,您可以创建CPU回溯:观察您的处理器负载(有top或没有),并在高负载kworker时执行,echo l > /proc/sysrq-trigger以创建回溯。(在Ubuntu上,这需要您使用登录sudo -s)。这样做几次,然后在dmesg输出结束时观察回溯。查看CPU回溯中经常发生的情况,希望它可以指出问题的根源。

安装perf

sudo dnf install perf.aarch64 #我用的华为云鲲鹏arm的,自行修改

 记录所有CPU上10S回溯记录

sudo perf record -g -a sleep 10

然后会在当前目录下生成一个perf.data

用以下命令查看

sudo perf report

 

 Linux kworker 占用CPU过高

我们看到arch_cpu_idle占用大量CPU。于是问了Fedora telegram群里的,翻了下arch/arm64/kernel/process.c

结论居然根本没有其他进程在使用CPU,Linux会自动保存CPU运作。(以后我会把博客转到自己的网站上zhyz.ru)

doesn’t this mean that simply no other process is using the CPU? from what I see, this is like the “Idle task” in Windows

补充:不知道是不是BUG现在2个线程都满了。

 

参考:https://askubuntu.com/questions/33640/kworker-what-is-it-and-why-is-it-hogging-so-much-cpu

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189882.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月6日 下午8:43
下一篇 2026年3月6日 下午9:22


相关推荐

  • 【OpenClaw】Edict 三省六部制部署与启动

    【OpenClaw】Edict 三省六部制部署与启动

    2026年3月13日
    3
  • Python中两List的Sql左连接实现

    内联接比较容易,之前做过,用两List的关键字进行if过滤即可;左(右)连接稍微麻烦一些,但稍思考一下,还是可以满足条件的。/Users/nisj/PycharmProjects/BiDataProc/Demand/hadoopStat/SqlLeftJoin.py#-*-coding=utf-8-*-importsysreload(sys)sys.setdefaultenc

    2022年4月16日
    85
  • Java 枚举(enum) 详解7种常见的用法

    Java 枚举(enum) 详解7种常见的用法JDK1.5引入了新的类型——枚举。在Java中它虽然算个“小”功能,却给我的开发带来了“大”方便。大师兄我【大师兄】又加上自己的理解,来帮助各位理解一下。用法一:常量在JDK1.5之前,我们定义常量都是:publicstaticfinal….。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。Java代码publ…

    2022年6月3日
    33
  • java中Iterator用法总结

    java中Iterator用法总结Java 中 Iterator 用法迭代器 Iterator 迭代器是一种设计模式 它是一个对象 它可以遍历并选择序列中的对象 而开发人员不需要了解该序列的底层结构 迭代器通常被称为 轻量级 对象 因为创建它的代价小 nbsp nbsp nbsp Collection 集合元素的通用获取方式 在取元素之前先要判断集合中有没有元素 如果有 就把这个元素取出来 继续在判断 如果还有就再取出出来 一直把集合中的所

    2026年3月19日
    3
  • JAVA事务回滚

    JAVA事务回滚当一个租赁系统在租房服务时我们会判断用户的账户金额是否够支付本次的房费 如果钱够则扣款 在订单表插入一条本次业务相关的数据 这时候如果在订单表插入出现了异常 但是钱已经扣款成功了 这样的情况就可以加入事务回滚 事务回滚将本次的操作都使用同一个 Connection 进行操作 于是加入了 ThreadLocal 存放 Connection 在获取 Connection 时先看一下当前 ThreadLocal 是否存放有 Connection 如果有则直接从里面获取 没有的话就创

    2026年3月26日
    3
  • 男生pun是什么意思_pun怎么读

    男生pun是什么意思_pun怎么读PUN介绍入门PhotonUnityNetworking(首字母缩写PUN)是一个Unity多人游戏插件包。它提供了身份验证选项、匹配,以及快速、可靠的通过我们的Photon后端实现的游戏内通

    2022年8月6日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号