概要

打印运行进程的栈信息(快照),包括一个进程下的所有线程的栈信息。

语法

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命令相关推荐

  1. 【Linux】一步一步学Linux——pstack命令(261)

    00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 pstack命令可显示每个进程的栈跟踪.pstack 命令 ...

  2. Linux 命令(148) —— pstack 命令

    文章目录 1.命令简介 2.命令格式 3.选项说明 4.常用示例 参考文献 1.命令简介 pstack(print stack)命令用于打印正在运行的进程栈跟踪. 如果二进制文件中存在 ELF 符号( ...

  3. Linux常用命令——pstack命令

    在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand) pstack 显示每个进程的栈跟踪 补充说明 pstack命令可显示每个进程的栈跟踪.pstack ...

  4. Linux strace、pstack 命令 使用详解

    Linux strace.pstack 命令 使用详解 strace是Linux环境下的一款程序调试工具,用来监察一个应用程序所使用的系统调用及它所接收的系统信息. 可谓是 linux 下的调试利器, ...

  5. linux命令-- pstack命令(跟踪进程栈)

    pstack是一个shell脚本,用于打印正在运行的进程的栈跟踪信息,它实际上是gstack的一个链接,而gstack本身是基于gdb封装的shell脚本..此命令可显示每个进程的栈跟踪.pstack ...

  6. linux常用命令、linux系统、linux属于什么操作系统、linux系统安装、linux怎么读、linux和windows的区别、linux配置ip地址、linux系统一般用来,在线查询工具

    linux vi编辑器常用命令 linux 查看ip linux find -name 查找文件名 linux shell linux 查看端口占用 linux 删除文件命令 linux cp命令复制 ...

  7. 【linux常用命令】

    linux常用命令 tcpdump 文件操作 分析信息详情 lsof 获得网络信息 LINUX 系统高级工具 pstack strace proc文件系统 日志监控工具 tail multitail ...

  8. linux ps内存占用率,linux ps命令,查看某进程cpu和内存占用率情况, linux ps命令,查看进程cpu和内存占用率排序。 不指定...

    背景:有时需要单看某个进程的CPU及占用情况,有时需要看整体进程的一个占用情况. 一. linux ps命令,查看某进程cpu和内存占用率情况 [root@test vhost]# ps aux US ...

  9. linux getevent命令,实用Linux命令集锦(一)

    ####top命令 监控系统的运行状态,并且可以按照cpu.内存.执行时间进行排序. 第一行中,03:30:22是当前时间,up 39 min是系统运行的运行了多长时间,1 user指出了当前有几个用 ...

最新文章

  1. ChineseCalendar类[转]
  2. 软件测试-培训的套路-log3
  3. windows按照sqlite笔记
  4. Swift 3.0 beta 6权限访问修改
  5. c++ 递增一个指针
  6. 批创建清账凭证,POSTING_INTERFACE_CLEARING
  7. oracle数据库集群日志,Oracle集群数据库中恢复归档日志
  8. java组合框的事件有哪些_博为峰Java技术文章 ——JavaSE Swing列表框选取事件的处理...
  9. 20155322 《Java程序设计》课堂实践项目 数据库-3-4
  10. 滴滴开源夜莺 Nightingale:企业级监控解决方案
  11. SCPPO(二十九):测算过程中问题的解决总结(续)
  12. nbu备份mysql_NBU之 SQL 的备份和恢复
  13. nsis升级包_NSIS制作软件升级安装包 - 卡饭网
  14. 虚拟机安装win10(ghost镜像)
  15. HDU 3533 Escape(BFS)
  16. 计算机系统设置图标异常,Win7桌面图标异常的解决大全
  17. 09-slash_backslash
  18. 抢滩抖音、B站,快手港股IPO进程加速
  19. IDEA 中配置GIT环境
  20. 08-Hadoop之Zookeeper详解

热门文章

  1. node-v14.21版本的下载安装
  2. 用php写表格代码,php读写excel表格程序代码
  3. python3入门笔记
  4. 打谱CTF recover
  5. 用日记APP来记录生活,再也不用担心无法坚持写日记
  6. IDEA 中使用 Big Data Tools 连接大数据组件
  7. MBR与GPT(GUID)的区别及使用方式(偏实际操作)
  8. 老李玩微博经验分享之如何发微博
  9. BUUCTF WEB exec+lovesql
  10. 设置OpenWrt连接外网