本包目录(357 条)
sysctl 内核参数72 条
CPU 与调度60 条
内存与 OOM58 条磁盘与 IO32 条网络栈调优98 条性能分析工具37 条

kworker 高占用排查

kworker 线程执行内核延迟工作(IO 完成、驱动任务等);持续高占用通常意味着存储/网络路径上有持续负载或驱动问题。

现状ps -eo pid,pcpu,comm | grep kworker
阻塞点/proc/<pid>/stack(root)
热点栈perf record -ag 后过滤 kworker

定位步骤

定位步骤
ps -eo pid,pcpu,stat,comm | grep -E 'kworker' | sort -k2 -rn | head
sudo cat /proc/<kworker_pid>/stack
sudo perf record -ag -e cycles -- sleep 10 && perf report --stdio | grep -m20 kworker

易错点

  • kworker 是共享池,名字相同但实例不同,必须结合 PID 与栈分析
  • 只杀 kworker 进程没有意义也会重启,应找触发它的设备或子系统

数据来源与参考

  • Linux 内核 workqueue 文档
  • Linux 内核 Documentation/gpu/ 与驱动文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌