linux gstack pstack 進程運行堆棧查看工具 strip


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,下次再寫


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM