此命令可显示每个进程的栈跟踪。
pstack
命令必须由相应进程的属主或root
运行。可以使用pstack
来确定进程挂起的位置。此命令允许使用的唯一选项是要检查的进程的PID
应用场景
这个命令在排查进程问题时非常有用,比如我们发现一个服务一直处于work状态(如假死状态,好似死循环),使用这个命令就能轻松定位问题所在;可以在一段时间内,多执行几次pstack,若发现代码栈总是停在同一个位置,那个位置就需要重点关注,很可能就是出问题的地方
示例: 查看bash程序进程栈
1 | [root@caoxl ~]# ps -ef | grep bash |
安装pstack
1 | yum install gdb // 只要安装gdb,就会把pstack也一并安装成功 |