Linux kworker占用CPU过高怎么办
导读:本文共2222.5字符,通常情况下阅读需要7分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 先打开HTOPhtop然后按H K(大写) 我们看到Kworker/0:0+events占用了大量CPU,下面参考下人家的回答什么是kworker? kworker表示进行“工作”(处理系统调用)的Linux内核进程。在进程列表中可以有多个:kworker/0:1在第一个CPU内核上kworker/1:1是一个,在第二个CPU内核上是一个,依此类推。为什么kwo... ...
目录
(为您整理了一些要点),点击可以直达。先打开HTOP
htop
然后按H K(大写)
我们看到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
sudodnfinstallperf.aarch74#我用的华为云鲲鹏arm的,自行修改
记录所有CPU上10S回溯记录
sudoperfrecord-g-asleep10
然后会在当前目录下生成一个perf.data
用以下命令查看
sudoperfreport
我们看到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个线程都满了。
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
Linux kworker占用CPU过高怎么办的详细内容,希望对您有所帮助,信息来源于网络。