专栏首页Nicky's blogJvisualvm简单使用教程

Jvisualvm简单使用教程

本博客介绍一下jvisualvm的简单使用教程,jvisualvm功能还是挺多的,不过本博客之简单介绍一下

1、拿线程快照信息

在jdk安装目录找到jvisualvm.exe,${JDK_HOME}\bin\jvisualvm.exe

这里可以看到具体的线程快照信息:

收集后可以看到如图,右键,保存线程快照信息

收集线程快照信息主要是为了监控是否有出现死锁的情况:

观察收集到快照信息,拉到最后看看,如图,就是有出现死锁

再往上看: 这里就列出了对应的死锁情况,根据http-nio-8080-exec-274这些去搜索,定位问题

"http-nio-8080-exec-274":
  waiting to lock monitor 0x000000000b0263b0 (object 0x000000070008cbd0, a com.tongweb.log.PassThroughPrintStream),
  which is held by "http-nio-8080-exec-87"
"http-nio-8080-exec-87":
  waiting to lock monitor 0x0000000029989058 (object 0x00000007000a0fa0, a com.tongweb.web.webutil.util.log.SystemLogHandler),
  which is held by "pool-12-thread-2"
"pool-12-thread-2":
  waiting to lock monitor 0x0000000026915308 (object 0x00000007000a0fc8, a com.tongweb.log.PassThroughPrintStream),
  which is held by "http-nio-8080-exec-85"
"http-nio-8080-exec-85":
  waiting to lock monitor 0x0000000029989058 (object 0x00000007000a0fa0, a com.tongweb.web.webutil.util.log.SystemLogHandler),
  which is held by "pool-12-thread-2"

2、拿堆栈快照信息 拿堆栈快照信息,如图,选择监控->堆Dump

时间会比较久,需要等待

同样右键->保存,保存堆栈快照信息

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java中注解学习系列教程-2

    JDK自带的三个注解(@Override(重写、覆盖)、@Deprecated(废弃的,过时的)、@Suppvisewarnings(压缩警告))都是编译期的注...

    凯哥Java
  • Try to use JDK instead of JRE to debug source code

    Check Jerry’s output console, you can find that javaw.exe in JDK1.8 is used:

    Jerry Wang
  • Java10的新特性,你知道多少?

    从Java 9发布到现在已经过去两个月了,根据最新的发布计划,距离下一个Java版本发布只有四个月时间。Java 10的新特性还在确认当中,所以从现在到GA版中...

    攻城狮的那点事
  • 关于netty你需要了解的二三事.md

    在nio编程中,select和bind可以不按顺序调用,也可以不在同一个线程中。netty中这是在boss线程中做的事情,可能会出现先select再绑定端口的情...

    开发架构二三事
  • RocketMQ安装

    包推荐使用 git 直接拉下来。没装 git 就 wget 去拉。需要 maven 来编译 rocketmq,实际上只要装好 maven 即可,其他不用操作 m...

    潇洒
  • Java进阶之路——从初级程序员到架构师,从小工到专家

    怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序员也是工作三五年之...

    凯哥Java
  • java测试环境搭建

    复制这里的目录,和你具体安装的版本有关系,这个目录要加入到下面的profile文件中,这里我是

    陈佳
  • Java中反射学习系列教程之二

    在上一篇文章《Java中反射学习系列教程之一》中我们学了什么是反射;反射中的反字怎么理解;以及反射的特点。今天我们主要讲的内容:

    凯哥Java
  • Java中注解学习系列教程-1

    注解是我们的编程更简洁明了。spring boot的流行也带动了注解。spring boot中就使用了大量的注解来减少配置。我们在使用spring boot开发...

    凯哥Java
  • 剖析Java中HashMap数据结构的源码及其性能优化

    存储结构 首先,HashMap是基于哈希表存储的。它内部有一个数组,当元素要存储的时候,先计算其key的哈希值,根据哈希值找到元素在数组中对应的下标。如果这个位...

    凯哥Java

扫码关注云+社区

领取腾讯云代金券