jstack命令:教你如何排查多线程问题
转载自 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命令:教你如何排查多线程问题相关推荐
- jstack 命令的使用和问题排查分析思路
jstack 命令 什么是jstack jstack命令 jstack实战操作 什么是jstack jstack是用于生成java虚拟机当前时刻的线程快照.线程快照是当前java虚拟机内存每一条线程正 ...
- 20210519 使用jstack命令排查线程死锁问题
问题: 针对线上多线程死锁.阻塞,跑着跑着就卡住了:查看线上线程池的状态: jstack主要用于生成java虚拟机当前时刻的线程快照.线程快照是当前java虚拟机内每一条线程正在执行的方法堆栈的集合 ...
- jstack命令排查cpu占用过高问题
1.当系统cpu占用率过高时,可以通过top命令查看当前cpu占用率最高的线程 可以看到排在第一位的pid为22705的进程cpu占用率最高 2.可以通过top -H -p pid命令查看某个pid的 ...
- java命令_Java程序员,不得不会的JDK jstack命令工具
作者:Jay_huaxiao 链接:https://juejin.im/post/5ead8067e51d454da36cf182 如果有一天,你的Java程序长时间停顿,也许是它病了,需要用jsta ...
- jstack命令解析
前言 如果有一天,你的Java程序长时间停顿,也许是它病了,需要用jstack拍个片子分析分析,才能诊断具体什么病症,是死锁综合征,还是死循环等其他病症,本文我们一起来学习jstack命令~ jsta ...
- 【JVM】jstack命令
前言 如果有一天,你的Java程序长时间停顿,也许是它病了,需要用jstack拍个片子分析分析,才能诊断具体什么病症,是死锁综合征,还是死循环等其他病症,本文我们一起来学习jstack命令~ jsta ...
- jstack命令的使用
文章来源:https://blog.csdn.net/wufaliang003/article/details/80414267 jstack是java虚拟机自带的一种堆栈跟踪工具. jstack用于 ...
- top命令详析及排查问题使用演示
1. top基本使用 top命令运行图 第一行:基本信息 第二行:任务信息 第三行:CPU使用情况 第四行:物理内存使用情况 buff/cache: buffers 和 cache 都是内存中存放的数 ...
- jstack命令分析
在线程中,有一些JVM内部的后台线程,来执行譬如垃圾回收,或则低内存的检测等等任务,这些线程往往在JVM初始化的时候就存在,比如如下例子: "Low Memory Detector" ...
最新文章
- ETL MySQL in Oracle ODI 12c
- 盘点:近两年人工智能和机器学习领域部分收购案
- Android得到视频缩略图
- 蓝桥杯练习系统习题-算法提高2
- 方舟子:如何避免学术不端行为(zz)
- 『Python × C++』函数传参机制学习以及对比
- C语言结构-演员请就位
- Jquery ajax 访问调用带参数的服务方法!
- Windows 任务栏缩略图自定义程序[更新 Build20100830]
- java使用btree_java数据结构之二叉树遍历的非递归实现
- 二维 均值方差高斯分布图 python_PRML笔记 第二章 (多维)高斯分布
- Linq To EF (添加记录后获取添加的自增ID和叫“ID”的列不是自增列不让插入的问题)...
- 智能卡破解入门二三事(转载)
- 换ip 电脑ip切换 ip修改 支持xp win7 win10
- 手把手教你写网络爬虫:Web应用的漏洞检测实战篇!
- 大脑神经网络记忆原理图,记忆力机制的神经网络
- 关于Qt中QMAKESPEC环境变量
- 微信扫码下载APP(带有蒙层)
- Spring总结四:JDBC操作
- android 平板hdmi开发,安卓平板电脑的新突破口:HDMI in 视频输入,取代便携显示器...
热门文章
- [剑指offer]面试题48:不能被继承的类
- [蓝桥杯][基础练习VIP]完美的代价-贪心
- Sorting It All Out (易错题+拓扑排序+有向图(判环+判有序)优先级)
- hdfs读写流程_一文读懂HDFS分布式存储框架分析
- 里加一列为1_9月1号新宠物食品法规实施啦,辣鸡宠物食品遭殃,你也可能违法...
- 反转字符串中的单词 III leetcode
- 归并排序算法 C++
- SpringMVC 、Struts的区别
- 深入理解 JVM Class文件格式(二)
- 牛客小白月赛12:月月给华华出题(欧拉函数)