转载自 jstack命令:教你如何排查多线程问题

这是之前的一个死锁案例:

一个多线程死锁案例,如何避免及解决死锁问题?

如程序中发生这样的死锁问题该如何排查呢?我们可以使用java自带的jstack命令进行排查。

1、先在服务器运行上面的死锁的例子,让程序陷入死锁。

2、使用jps、ps -ef | grep java查看当前java进程的pid,严重情况下可以使用top命令查看当前系统cpu/内存使用率最高的进程pid。

这里我们的死锁的pid是:3429,这里程序很简单,虽然程序死锁,没有占用很多资源。

3、使用top -Hp 3429命令查看进程里面占用最多的资源的线程。

这里我们看到的占用最多资源的线程是:3440。

4、使用命令printf "%x\n" 3440 把线程pid转换成16进制数,得到:d70。

5、使用jstack 3429 | grep -20 d70命令查询该线程阻塞的地方。

到这里就基本跟踪完毕,去代码所在行看看为什么死锁吧。

jstack更多详细用法可以查看官方说明:

http://docs.oracle.com/javase/7/docs/technotes/tools/share/jstack.html

jstack命令:教你如何排查多线程问题相关推荐

  1. jstack 命令的使用和问题排查分析思路

    jstack 命令 什么是jstack jstack命令 jstack实战操作 什么是jstack jstack是用于生成java虚拟机当前时刻的线程快照.线程快照是当前java虚拟机内存每一条线程正 ...

  2. 20210519 使用jstack命令排查线程死锁问题

    问题:  针对线上多线程死锁.阻塞,跑着跑着就卡住了:查看线上线程池的状态: jstack主要用于生成java虚拟机当前时刻的线程快照.线程快照是当前java虚拟机内每一条线程正在执行的方法堆栈的集合 ...

  3. jstack命令排查cpu占用过高问题

    1.当系统cpu占用率过高时,可以通过top命令查看当前cpu占用率最高的线程 可以看到排在第一位的pid为22705的进程cpu占用率最高 2.可以通过top -H -p pid命令查看某个pid的 ...

  4. java命令_Java程序员,不得不会的JDK jstack命令工具

    作者:Jay_huaxiao 链接:https://juejin.im/post/5ead8067e51d454da36cf182 如果有一天,你的Java程序长时间停顿,也许是它病了,需要用jsta ...

  5. jstack命令解析

    前言 如果有一天,你的Java程序长时间停顿,也许是它病了,需要用jstack拍个片子分析分析,才能诊断具体什么病症,是死锁综合征,还是死循环等其他病症,本文我们一起来学习jstack命令~ jsta ...

  6. 【JVM】jstack命令

    前言 如果有一天,你的Java程序长时间停顿,也许是它病了,需要用jstack拍个片子分析分析,才能诊断具体什么病症,是死锁综合征,还是死循环等其他病症,本文我们一起来学习jstack命令~ jsta ...

  7. jstack命令的使用

    文章来源:https://blog.csdn.net/wufaliang003/article/details/80414267 jstack是java虚拟机自带的一种堆栈跟踪工具. jstack用于 ...

  8. top命令详析及排查问题使用演示

    1. top基本使用 top命令运行图 第一行:基本信息 第二行:任务信息 第三行:CPU使用情况 第四行:物理内存使用情况 buff/cache: buffers 和 cache 都是内存中存放的数 ...

  9. jstack命令分析

    在线程中,有一些JVM内部的后台线程,来执行譬如垃圾回收,或则低内存的检测等等任务,这些线程往往在JVM初始化的时候就存在,比如如下例子: "Low Memory Detector" ...

最新文章

  1. ETL MySQL in Oracle ODI 12c
  2. 盘点:近两年人工智能和机器学习领域部分收购案
  3. Android得到视频缩略图
  4. 蓝桥杯练习系统习题-算法提高2
  5. 方舟子:如何避免学术不端行为(zz)
  6. 『Python × C++』函数传参机制学习以及对比
  7. C语言结构-演员请就位
  8. Jquery ajax 访问调用带参数的服务方法!
  9. Windows 任务栏缩略图自定义程序[更新 Build20100830]
  10. java使用btree_java数据结构之二叉树遍历的非递归实现
  11. 二维 均值方差高斯分布图 python_PRML笔记 第二章 (多维)高斯分布
  12. Linq To EF (添加记录后获取添加的自增ID和叫“ID”的列不是自增列不让插入的问题)...
  13. 智能卡破解入门二三事(转载)
  14. 换ip 电脑ip切换 ip修改 支持xp win7 win10
  15. 手把手教你写网络爬虫:Web应用的漏洞检测实战篇!
  16. 大脑神经网络记忆原理图,记忆力机制的神经网络
  17. 关于Qt中QMAKESPEC环境变量
  18. 微信扫码下载APP(带有蒙层)
  19. Spring总结四:JDBC操作
  20. android 平板hdmi开发,安卓平板电脑的新突破口:HDMI in 视频输入,取代便携显示器...

热门文章

  1. [剑指offer]面试题48:不能被继承的类
  2. [蓝桥杯][基础练习VIP]完美的代价-贪心
  3. Sorting It All Out (易错题+拓扑排序+有向图(判环+判有序)优先级)
  4. hdfs读写流程_一文读懂HDFS分布式存储框架分析
  5. 里加一列为1_9月1号新宠物食品法规实施啦,辣鸡宠物食品遭殃,你也可能违法...
  6. 反转字符串中的单词 III leetcode
  7. 归并排序算法 C++
  8. SpringMVC 、Struts的区别
  9. 深入理解 JVM Class文件格式(二)
  10. 牛客小白月赛12:月月给华华出题(欧拉函数)