Skip to content

Latest commit

 

History

History
59 lines (41 loc) · 1.29 KB

debug_stuck_process.md

File metadata and controls

59 lines (41 loc) · 1.29 KB

排查响应缓慢的进程,可以采用一些排查步骤

  • 找出进程
ps auxww | grep XXXX
  • 使用 strace 跟踪进程查看系统调用
strace -p <pid>

找出某个进程的socket对应的访问主机

  • 首先检查进程 54024 的 socketfd :
ls -l /proc/54024/fd

显示输出

total 0
lrwx------ 1 huatai dialout 64 Jul  6 22:06 0 -> /dev/pts/24
lrwx------ 1 huatai dialout 64 Jul  6 22:06 1 -> /dev/pts/24
lrwx------ 1 huatai dialout 64 Jul  6 22:06 2 -> /dev/pts/24
lrwx------ 1 huatai dialout 64 Jul  6 22:06 3 -> 'socket:[2671265]'
lrwx------ 1 huatai dialout 64 Aug 24 00:21 4 -> 'socket:[2671268]'

检查进程 54024 打开的设备

$ lsof -i -a -p 54024
COMMAND   PID   USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
ssh     54024 huatai    3u  IPv4 2671265      0t0  TCP zcloud:40336->z-k8s-n-4:ssh (ESTABLISHED)

这里也可以根据socketfd现实的设备号进行过滤

$ lsof -i -a -p 54024 | grep 2671265
ssh     54024 huatai    3u  IPv4 2671265      0t0  TCP zcloud:40336->z-k8s-n-4:ssh (ESTABLISHED)

可以看出是访问 z-k8s-n-4 主机ssh

  • 对进行进行debug,可以使用 gdb
gdb -p <pid>

参考