linux gstack pstack 进程运行堆栈查看工具 strip

虾米哥 阅读:1653 2020-10-22 16:36:09 评论:0

pstack的作用

1). 查看线程数(比pstree, 包含了详细的堆栈信息)

2). 能简单验证是否按照预定的调用顺序/调用栈执行

3). 采用高频率多次采样使用时, 能发现程序当前的阻塞在哪里, 以及性能消耗点在哪里?

4). 能反映出疑似的死锁现象(多个线程同时在wait lock, 具体需要进一步验证)

 

pstack的安装

pstack是gdb的一部分,如果系统没有pstack命令,使用yum搜索安装gdb即可

yum install gdb -y

 

pstack 与 gstack 区别

pstack是/usr/bin/gstack的软链接

 

使用实例

问题:php某进程一直卡着在running,找不到具体原因

执行 gstack 1696 效果如下:

可以看到运行堆栈信息已经打印出来,可根据信息排错,其实这里没有剥离符号信息才能看到

如果使用strip剥离符号表,有些接口就显示不出来了

 

还有更好用的starce,下次再写

标签:linux
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号