进程卡死与 D 状态的排查
服务无响应,进程处于 D(不可中断睡眠),kill -9 也无法立即终止。常见于磁盘、NFS 或内核路径卡住。
ps -eo state,pid,ppid,wchan:32,comm | awk '$1 == "D"'
cat /proc/<pid>/stack
cat /proc/<pid>/wchan
vmstat 1 5
iostat -x 1 5
dmesg -T | grep -i -E 'hung_task|blocked for more than'
wchan/stack 确认卡在哪条内核路径,不要盲目 kill -9。dmesg、/proc/<pid>/stack 和监控数据,便于定位内核/驱动问题。ps — D 状态进程vmstat / iostat — I/O 压力dmesg — hung task 与 I/O 错误cat /proc/<pid>/stack — 内核调用栈