分析linux的java进程的dump文件

Published on with 0 views and 0 comments

#先参考我之前的一篇文章在服务器进行一个死锁的情景重现#

检测死锁的文章

查看 Java 进程

ps -ef|grep Java

针对进程 id 生成 dump 文件

jmap -dump:format=b,file=serviceDump.dat 14640

使用 jvisualvm.exe 对 dump 进行分析(如果 JDK 的 bin 目录下没有,需要自行下载)

https://visualvm.github.io/index.html

  • 修改 visualvm.conf
  • 加入 JDK 路径 visualvm_jdkhome="C:/Users/JavaCoder/.jdks/corretto-1.8.0_312"
  • 双击 bin 目录下的 visualvm.exe 打开
  • 导入 dump 文件后查看死锁的线程

image2022031513100795ztxvd.png

还有另外一种使用方式 jhat :

jhat 用于分析 heapdump 文件,它会建立一个 HTTP/HTML 服务器,让用户可以在浏览器上查看分析结果

C:\Users\SnailClimb>jhat C:\Users\SnailClimb\Desktop\heap.hprof
Reading from C:\Users\SnailClimb\Desktop\heap.hprof...
Dump file created Sat May 04 12:30:31 CST 2019
Snapshot read, resolving...
Resolving 131419 objects...
Chasing references, expect 26 dots..........................
Eliminating duplicate references..........................
Snapshot resolved.
Started HTTP server on port 7000
Server is ready.

访问 http://localhost:7000/


标题:分析linux的java进程的dump文件
作者:cuijianzhe
地址:https://cuijianzhe.github.io/articles/2022/03/15/1647327044536.html