【问题标题】:kworker has high CPU usage on idle systemkworker 在空闲系统上的 CPU 使用率很高
【发布时间】:2018-03-23 14:41:22
【问题描述】:

感谢您的光临!

所以我刚刚为我的 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 处理视频滞后。这在我添加模块之前从未发生过。

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

但我不知道如何从那里继续减少工作量。可能是因为嵌入在附加板上的实时时钟__timer_delayarch_timer_read_counter_longarch_counter_get_cntpct 似乎有很高的 CPU 使用率?其他高负载任务是finish_task_switch_raw_spin_unlock_irqrestore 任务,但我猜不出这是什么。

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

非常感谢!

【问题讨论】:

    标签: raspberry-pi cpu-usage


    【解决方案1】:

    我遇到了同样的问题,发现根本原因是我没有将 SD 卡插入树莓派。当 SD 卡丢失时,内核会频繁尝试扫描 SD 卡插槽,导致 CPU 使用率过高。 下载sdtweak.dtbo,将/boot/overlays/下已有的替换为新的,然后将dtoverlay=sdtweak,poll_once添加到/boot/config.txt中并重启机器。它对我有用。

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

    【讨论】:

    • 似乎奏效了——kworker 不再以恒定的约 10% 的 CPU 使用率显示。非常感谢!很奇怪,这种情况开始发生时没有明显的原因(我知道没有关闭等)。其他人注意:如果您的 rpi 设备是最近设置的,您可能不需要下载 sdtweak.dtbo,因为固件将是最新的,能够在 /boot/config.txt 中接受 dtoverlay=sdtweak,poll_once
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-04
    • 1970-01-01
    • 2013-01-13
    • 2011-08-24
    • 2012-10-28
    • 2014-01-23
    相关资源
    最近更新 更多