听完公司《JVM应用调试相关脚本》的分享之后,又有同事在邮件里分享了另外一个可以生成html的分析工具叫:jhat (虚拟机堆转快照分析工具)。纯技术的东西,没有啥保密的,我就直接贴过来了,下面是邮件原文,图片弄过来比较麻烦,就暂缺吧。
引用
Sun JDK提供的这个jhat(JVM Heap Analysis Tool)命令需要与jmap搭配使用。先dump出来快照,然后再用jhat来分析。
dump_hai.li.bin是我之前dump出来的一个快照。(怎么dump玥老已经讲过了,不赘述)执行命令:jhat D:\dump_hai.li.bin
【缺图】
分析结果:(Jhat内部了一个微型的HTTP/HTML服务器,可以将dump文件分析之后生成html文档,可以在浏览器中查看。。)
【缺图】
如上图:分析结果默认是以包为单位进行分组的,分析内存泄漏问题主要会用到其中的“Heap Histogram”与OQL(Object Query Language)页标签的功能。
前者可以找到内存中最大对象,如图:
【缺图】
后者是标准的对象查询语言,类似SQL的语法对内存中的对象进行查询统计,如图:(旁边的“OQL Help”可以查看相应的查询语法)
【缺图】
但是:这个也就平时自己玩儿的时候用用,在生产环境就不太靠谱儿(主要原因:1-一般生产环境是不建议在部署了应用的服务器上分析,就算如玥老说说的先将服务器摘下来,也不推荐,毕竟是生产使用的环境,而且线上dump的文件通常很大,jhat分析起来效率并不怎么好,而且还很消耗资源;2-另外就是jhat的分析功能相对简陋,做一些基本的分析或者自己学习可以玩玩儿。我想说的是玥老分享的命令行可以更好的按需要定位问题),除非是真的没有其他别的分析工具了。
好吧,分析工具嘛,除了玥老介绍的命令行、Mat1.2.0和JDK自带工具外,还有些专业的产品,如:Eclipse Memory Analyzer、IBM HeapAnalyzzer等。有兴趣的童鞋可以研究研究,当然了,研究之后就是相互交流分享^^(好的预期是能形成一套属于Qunar的jvm解决方案)
Ok,到此为止吧,应玥老分享会上的提醒,偶来回个邮件,分享下玩儿jvm的一点儿经验,欢迎拍砖,前提是你先帮我一起纠正错误的地方,哈哈。
分享到:
相关推荐
- 第4章 虚拟机性能监控、故障处理工具- 4.2 基础故障处理工具JDK提供jhat(JVM Heap Analysis Tool)命令与jmap搭配使用,来
4. jhat:虚拟机堆转储快照分析工具 3 5. jmap:内存映像工具 3 6. jstack:java堆栈跟踪工具 3 7. VisualVM:多合一故障处理工具 3 8. jconsole: 略 3 9. Memory Analyzer Tool(MAT)Eclipse插件 3 二、 JVM参数 ...
4.2.5 jhat:虚拟机堆转储快照分析工具 4.2.6 jstack:Java堆栈跟踪工具 4.2.7 HSDIS:JIT生成代码反汇编 4.3 JDK的可视化工具 4.3.1 JConsole:Java监视与管理控制台 4.3.2 VisualVM:多合一故障处理工具 4.4...
虚拟机堆转储快照分析工具 / 84 4.2.6 jstack:Java堆栈跟踪工具 / 85 4.3 JDK的可视化工具 / 87 4.3.1 JConsole:Java监视与管理控制台 / 88 4.3.2 VisualVM:多合一故障处理工具 / 96 4.4 本章小结 / 105 第5...
虚拟机的监控工具,1、命令行工具(1)jps,jstat,jinfo,(4)jmap(5)jhat(6)jstack
第54节虚拟机工具-jhat详解00:08:10分钟 | 第55节虚拟机工具-jstack详解00:10:19分钟 | 第56节可视化虚拟机工具-Jconsole内存监控00:07:09分钟 | 第57节可视化虚拟机工具-Jconsole线程监控00:12:18分钟 | 第58节...
基于jdk1.8 1、在 java 的 bin 目录下,jdk 提供了很多使用的工具,下面学习一些监控...生产虚拟机的内存快照 dump 文件 jhat 分析 dump 文件 jstack 显示虚拟机的线程快照 2、jps 虚拟机进程状况工具 2.1、jps
讲述了jhat的使用方法。----------------------------------------------
JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解.docx
MAT 是一个开源的java内存分析工具,能够快速的分析dump文件,可以直观的看到各个对象在内存占用的量...比传统的JDK分析工具jstat和jmap和Jhat更易用,更快速 适用于 java学习者,程序开发者调试java程序,分析BUG使用
本书深入浅出地讲解了 ...数的分发机制、VTABLE 和 ITABLE、异常表、虚拟机监控工具(如 jinfo、jstack、jhat、jmap 等)的实现原 理和开发方法、Attach 机制、基于 GUI 的 JVM 分析工具(如 MAT、VisualVM)等内容。
本篇文章主要通过代码实例对java自带命令行工具jmap、jhat与jinfo的使用做出了详解,需要的朋友可以参考下
第54讲 虚拟机工具-jhat详解 00:08:10 第55讲 虚拟机工具-jstack详解 00:10:19 第56讲 可视化虚拟机工具-Jconsole内存监控 00:07:09 第57讲 可视化虚拟机工具-Jconsole线程监控 00:12:18 第58讲 死锁...
Klass对象表示系统、链接、运行时数据区、方法区、常量池和常量池Cache、...转发表、Stubs、Code Cache、Code生成器、JIT编译器、C1编译器、编译原理、JVM指令集实现、函数的分发机制、VTABLE和ITABLE、异常表、虚拟机...
本资源为一个压缩包,里面包含了eclipse安装反编译所用的插件以及安装的具体图文介绍步骤,一看必会。
jvm性能调优工具命令大全.zip jps jstat jmap jhat jstack jinfo jps JVM Process Status Tool GChisto jvisualvm ...
一个基于JHat(与JDK打包在一起)的独立堆分析工具,使用Scala和现代库进行了重写。 为什么? 作为专业开发人员,JHat拯救了我的命,JHat偶尔拯救了我的生命(尤其是凌晨3点)。 但是自从JHat首次构建以来,它就...
1.jps 2.jstack 3.jstat 4.jmap 5.jinfo 6.jcmd 7.jhat
自己备用 jdb jdeps jhat appletviewer jar javac javadoc javah javap