Linux pstack命令
概要
打印运行进程的栈信息(快照),包括一个进程下的所有线程的栈信息。
语法
pstack pid
解释
pstack是封装了 gdb 功能的 shell 脚本,通过 " thread apply all bt " 的命令获得输出所有的线程堆栈信息,再用 sed 进行替换和过滤
# Run GDB, strip out unwanted noise.
$GDB --quiet $readnever -nx /proc/$1/exe $1 <<EOF 2>&1 |
set width 0
set height 0
set pagination no
$backtrace
EOF
/bin/sed -n \-e 's/^\((gdb) \)*//' \-e '/^#/p' \-e '/^Thread/p'
用处
通常在服务运行不符合预期时,可以使用 pstack 来确定进程挂起的位置。比如因为死锁导致服务不响应了,使用该命令会找到照成死锁的代码位置。另一个常见的case是定位死循环,可以在同一时间段内多次执行pstack命令,若发现代码栈总是停在同一个位置,那个位置就需要重点关注,很可能就是出问题的地方
线程执行的时间
如果我们想要查询某一线程已经运行的时间,可以使用以下命令来完成
ps -eLo pid,lwp,pcpu |grep tid
这样可以定位出一些执行得比较慢的线程
参考文献
1、https://www.cnblogs.com/chenxinshuo/p/11986858.html
2、https://www.cnblogs.com/kongzhongqijing/articles/7685699.html
Linux pstack命令相关推荐
- 【Linux】一步一步学Linux——pstack命令(261)
00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 pstack命令可显示每个进程的栈跟踪.pstack 命令 ...
- Linux 命令(148) —— pstack 命令
文章目录 1.命令简介 2.命令格式 3.选项说明 4.常用示例 参考文献 1.命令简介 pstack(print stack)命令用于打印正在运行的进程栈跟踪. 如果二进制文件中存在 ELF 符号( ...
- Linux常用命令——pstack命令
在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand) pstack 显示每个进程的栈跟踪 补充说明 pstack命令可显示每个进程的栈跟踪.pstack ...
- Linux strace、pstack 命令 使用详解
Linux strace.pstack 命令 使用详解 strace是Linux环境下的一款程序调试工具,用来监察一个应用程序所使用的系统调用及它所接收的系统信息. 可谓是 linux 下的调试利器, ...
- linux命令-- pstack命令(跟踪进程栈)
pstack是一个shell脚本,用于打印正在运行的进程的栈跟踪信息,它实际上是gstack的一个链接,而gstack本身是基于gdb封装的shell脚本..此命令可显示每个进程的栈跟踪.pstack ...
- linux常用命令、linux系统、linux属于什么操作系统、linux系统安装、linux怎么读、linux和windows的区别、linux配置ip地址、linux系统一般用来,在线查询工具
linux vi编辑器常用命令 linux 查看ip linux find -name 查找文件名 linux shell linux 查看端口占用 linux 删除文件命令 linux cp命令复制 ...
- 【linux常用命令】
linux常用命令 tcpdump 文件操作 分析信息详情 lsof 获得网络信息 LINUX 系统高级工具 pstack strace proc文件系统 日志监控工具 tail multitail ...
- linux ps内存占用率,linux ps命令,查看某进程cpu和内存占用率情况, linux ps命令,查看进程cpu和内存占用率排序。 不指定...
背景:有时需要单看某个进程的CPU及占用情况,有时需要看整体进程的一个占用情况. 一. linux ps命令,查看某进程cpu和内存占用率情况 [root@test vhost]# ps aux US ...
- linux getevent命令,实用Linux命令集锦(一)
####top命令 监控系统的运行状态,并且可以按照cpu.内存.执行时间进行排序. 第一行中,03:30:22是当前时间,up 39 min是系统运行的运行了多长时间,1 user指出了当前有几个用 ...
最新文章
- ChineseCalendar类[转]
- 软件测试-培训的套路-log3
- windows按照sqlite笔记
- Swift 3.0 beta 6权限访问修改
- c++ 递增一个指针
- 批创建清账凭证,POSTING_INTERFACE_CLEARING
- oracle数据库集群日志,Oracle集群数据库中恢复归档日志
- java组合框的事件有哪些_博为峰Java技术文章 ——JavaSE Swing列表框选取事件的处理...
- 20155322 《Java程序设计》课堂实践项目 数据库-3-4
- 滴滴开源夜莺 Nightingale:企业级监控解决方案
- SCPPO(二十九):测算过程中问题的解决总结(续)
- nbu备份mysql_NBU之 SQL 的备份和恢复
- nsis升级包_NSIS制作软件升级安装包 - 卡饭网
- 虚拟机安装win10(ghost镜像)
- HDU 3533 Escape(BFS)
- 计算机系统设置图标异常,Win7桌面图标异常的解决大全
- 09-slash_backslash
- 抢滩抖音、B站,快手港股IPO进程加速
- IDEA 中配置GIT环境
- 08-Hadoop之Zookeeper详解