参考博客:https://www.jianshu.com/p/213710fb9e40

jstack(Stack Trace for Java)命令用于生成虚拟机当前时刻的线程快照(一般称为threaddump或者javacore文件)。线程快照就是当前虚拟机内每一条线程正在执行的方法堆栈 的集合,生成线程快照的主要目的是定位线程出现长时间停顿的原因,

如线程间死锁、死循环、请求外部资源导致的长时间等待等都是导致线程长时间停顿的常见原因。
线程出现停顿的时候通过jstack来查看各个线程的调用堆栈,就可以知道没有响应的线程到底在后台做些什么事情,或者等待着什么资源

首先jps -l 查看java进程:

接着再用jstack 21028 查看线程状态

发现诊断到了死锁:

死锁演示代码如下

public class DeadLockTest {/***线程死锁等待演示*/static class SynAddRunalbe implements Runnable{int a,b;public SynAddRunalbe(int a,int b){this.a=a;this.b=b;}@Overridepublic void run(){synchronized(Integer.valueOf(a)){synchronized(Integer.valueOf(b)){System.out.println(a+b);}}}}public static void main(String[]args){for(int i=0;i<100;i++){new Thread(new SynAddRunalbe(1,2)).start();new Thread(new SynAddRunalbe(2,1)).start();}}
}

  

转载于:https://www.cnblogs.com/cheng21553516/p/11235432.html

JVM的监控工具之jstack相关推荐

  1. JVM监控工具介绍jstack, jconsole, jinfo, jmap, jdb, jsta (Linux 如何查看进程的各线程的CPU占用 )

    http://dolphin-ygj.iteye.com/blog/366216 JVM监控工具介绍jstack, jconsole, jinfo, jmap, jdb, jsta 博客分类: 调优 ...

  2. JVM性能监控工具(一)-jdk命令行工具

    转载:http://blog.csdn.net/top_code/article/details/51456186 当系统出bug需要定位问题的时候,知识.经验是关键基础,数据是依据,工具是运用知识处 ...

  3. java jamp cmd,Java命令行监控工具jmap,jstack...

    原标题:Java命令行监控工具jmap,jstack... Java命令行监控工具(jmap,jstack,jstat,jinfo,jps) 项目部署上线之后,线上项目是不能轻易修改的,定位问题的难度 ...

  4. jvm优化—监控工具:诊断内存泄露、cpu飙升、线程死锁、响应变慢

    目录 一.jvm常见监控工具&指令 JVM常见参数 为什么要将永久代 (PermGen) 替换为元空间 (MetaSpace) 呢? 1. jps:jvm进程状况工具 2.jstat: jvm ...

  5. arm服务器性能监控工具,linux服务器jvm内存监控工具

    linux服务器jvm内存监控工具 内容精选 换一换 鲲鹏软件栈汇聚各种鲲鹏兼容软件,帮助开发者了解如何将软件移植到鲲鹏上运行,获取操作指导和工具. 来自:其他 简要介绍Sysstat是一个软件包,包 ...

  6. JVM监控工具介绍jstack, jconsole, jinfo, jmap, jdb, jstat

    http://my.oschina.net/timer/blog/10599 jstack -- 如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和 ...

  7. 深入理解JVM—性能监控工具

    我们知道,在JVM编译期和加载器,甚至运行期已经做了大量的调优操作,但是那些都是JVM针对Java程序所做的通用的.简单的优化,程序在运行时由于运行环境的复杂性.业务逻辑的复杂性,很多JVM是无法进行 ...

  8. java内存溢出排查jstack_Java命令行监控工具(jmap,jstack,jstat,jinfo,jps)

    项目部署上线之后,线上项目是不能轻易修改的,定位问题的难度也会变大.因此监控是非常重要的一个环节,有了监控,我们才能更好的定位系统中的问题,从而排查.监控的工具有很多种, 但是java自带的命令行监控 ...

  9. JVM调优之jstack找出最耗cpu的线程并定位代码

    jstack可以定位到线程堆栈,根据堆栈信息我们可以定位到具体代码,所以它在JVM性能调优中使用得非常多.下面我们来一个实例找出某个Java进程中最耗费CPU的Java线程并定位堆栈信息,用到的命令有 ...

最新文章

  1. Python模拟登录,Python识别图形验证码实现自动登陆
  2. force oracle delete type,3.Oracle Interface Configuration Tool (OIFCFG) 命令参考
  3. Eclipse Git 克隆项目的时候出现Internal error; consult Eclipse error log
  4. linux运维决心书!
  5. 服务器能否只做c盘系统,我的云服务器只有一个c盘
  6. java 泛型 类型形参(Type Parameters)
  7. Docker学习总结(7)——云端基于Docker的微服务与持续交付实践
  8. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 图片:为图片添加圆角 (IE8 不支持)
  9. matlab 数据白化,数据白化
  10. greedy算法策略高效求解分数背包问题
  11. 2021-2027全球与中国环卫云平台市场现状及未来发展趋势
  12. 用Python写一个拼音输入法
  13. Gibberish 本地化插件学习
  14. 评点SAP HR功能及人力资源管理软件
  15. SAP 选择屏幕下拉框实现
  16. Arcgis 熟练和操作
  17. Windows Server 2008 防火墙开放 Oracle 的1521端口
  18. 《精力管理》读书笔记
  19. 中国汽车无线通信模块行业市场供需与战略研究报告
  20. 3D立体显示技术原理与游戏应用历程简介 【转】

热门文章

  1. 如何解决UltraCompare中中文显示乱码的问题
  2. python中的多线程、多进程
  3. 我如何在20小时内为AWS ML专业课程做好准备并进行破解
  4. 古代的房价跟现在比怎么样?50万能在唐朝买个茅厕吗?
  5. 输入序列不连续的序列检测
  6. [转] Windows CE 6.0 启动过程分析
  7. explode php 报错,ecshop在php5.4下报错怎么办
  8. python xpath定位元素方法_Python爬虫杂记 - Xpath高级用法
  9. 李宏毅机器学习课程4~~~分类:概率生成模型
  10. 苹果电脑基本设置+Linux 命令+Android 实战集锦