kworker在空闲系统上的CPU使用率很高

时间:2018-03-23 14:41:22

标签: raspberry-pi cpu-usage

感谢您停下来!

所以我刚刚为我的RaspberryPi 3B v1.2购买了Pi desktop kit,其中包含一个带有mSATA磁盘插槽,实时时钟和电源控制的附加模块。我在mSATA SSD上安装了最新的raspbian stretch(内核版本4.9.59-v7 +),现在正在从中启动Raspbian,板载读卡器中没有SD卡。

一个kworker进程现在经常在8.0-13.5%的CPU使用率之间占用,我认为这似乎是非常不必要的,并且它有令人讨厌的后果,与Kodi的视频滞后。在添加模块之前,这从未发生过。

kworker has high CPU usage as observed with top

然后我通过运行perf然后sudo perf record -D 1000 -g -a sleep 20来尝试sudo perf report(来自this thread的灵感),以找出可能负责的内核任务:

sudo perf record -D 1000 -g -a sleep 20

但我无法弄清楚如何继续减少工作量。这可能是由嵌入在附加板上的实时时钟造成的__timer_delayarch_timer_read_counter_longarch_counter_get_cntpct似乎具有较高的CPU使用率?高负荷的其他任务是finish_task_switch_raw_spin_unlock_irqrestore任务,但我无法猜测它是什么。

我是对的,这是CPU的不必要的工作负荷,如果是这样,我该如何减少它?

非常感谢提前!

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,发现根本原因是我没有将SD卡插入Raspberry Pi。如果缺少SD卡,内核会经常尝试扫描SD卡插槽,这会导致CPU使用率过高。 下载sdtweak.dtbo并将/boot/overlays/下现有的替换为新的,然后将dtoverlay=sdtweak,poll_once添加到/boot/config.txt并重新启动计算机。它对我有用。

另请参阅:https://github.com/raspberrypi/linux/issues/2567