Ubuntu 22.04.2服务器中kworker进程高CPU占用导致Plex服务器卡顿,能否终止该进程?
Ubuntu 22.04.2服务器中kworker进程高CPU占用导致Plex服务器卡顿,能否终止该进程?
兄弟,先别急着终止这个进程!让我给你好好唠唠这事儿——
首先得明确:kworker是Linux内核的工作线程,专门负责处理后台的内核级任务,比如硬件驱动事件、文件系统操作、系统调度这些杂活。你看到的kworker/1:3-events里,1:3是对应CPU核心和工作队列的编号,events说明它在处理通用系统事件。绝对不能直接用kill命令终止它,这是内核进程,强行终止轻则导致系统功能异常,重则直接让服务器崩溃,得不偿失。
那它为啥占了20%的CPU呢?大概率是某个硬件驱动有bug,或者系统里有反复触发的内核任务,比如磁盘IO异常、网卡驱动问题、新增的外设(比如USB硬盘)兼容性差,甚至可能是系统更新后遗留的小毛病。
给你几个实用的排查和解决步骤:
- 先搞清楚它在忙啥:用root权限执行以下命令(如果没挂载debugfs先挂载):
这个命令会输出kworker处理的具体事件,能帮你定位是哪个硬件或模块在触发它。mount -t debugfs none /sys/kernel/debug echo workqueue:events > /sys/kernel/debug/tracing/set_event cat /sys/kernel/debug/tracing/trace - 查系统日志找线索:看看
dmesg或者/var/log/syslog里有没有驱动报错、硬件故障的警告信息,这些往往是kworker高负载的根源。 - 更新系统和内核驱动:跑下面的命令把系统、内核和所有驱动更到最新版本,很多旧驱动的bug会在更新后修复:
sudo apt update && sudo apt upgrade -y - 排查硬件问题:如果刚加了新外设(比如USB存储、新网卡),先断开试试,看kworker的CPU占用会不会降下来,排查是不是硬件兼容性问题。
- 临时缓解(仅应急用):如果急需Plex流畅运行,你可以把这个kworker绑定到闲置的CPU核心上,比如服务器有4核,绑定到核心3:
这样它就不会抢占Plex使用的核心资源,但这只是权宜之计,还是得找到根本原因彻底解决。taskset -cp 3 5751
总之,别碰终止kworker的念头,按上面的步骤一步步排查,解决根源问题才是让Plex恢复流畅的关键。
备注:内容来源于stack exchange,提问作者NOOB




