0%

记录-linux僵死进程排查过程

Pre:

进程卡死,在日志里看不出个所以然.


查看任务log:

时间是中时区,要加8. 即为12点16分.

查看进程:

1
ps -auxf | grep xxx

f:用ASCII字符显示树状结构,表达程序间的相互关系。

进程太多的话,加上f,看起来会更清晰一些.

可以找到时间对应的那几个进程.

跟踪:

1
2
3
# 跟踪进程执行时的系统调用和所接收的信号
# 即它跟踪到一个进程产生的系统调用,包括参数、返回值、执行消耗的时间
strace -p pid

然后就可以以FUTEX_WAIT_PRIVATE这个为线索继续去搜索.

1
2
# 查看进程文件描述符目录
ll /proc/$pid/fd/

初步猜测是

  • 可能进程间出现了竞争资源导致死锁,阻塞.

只能继续排查了…


refs: