Java学习笔记 (五) Java常用命令 jhat 虚拟机堆转储快照分析工具

什么是jhat 以及jhat的作用

        jhat(Java Heap Analysis Tool)命令是用来分析堆转储快照的,jhat命令内置了一个微型
    的HTTP/HTML 服务器,生成Dump文件的分析结果后,可以在浏览器中查看。

jhat 命令的语法

jhat [-stack <bool>] [-refs <bool>] [-port <port>] [-baseline <file>] [-debug <int>] [-version] [-h|-help] <file>

这里写图片描述

jhat分析Dump文件

jhat heapDump //heapDump 为Dump文件名

这里写图片描述

可以看到服务已经成功启动,端口为7000,访问 localhost:7000 就可以看到分析结果

这里写图片描述

    分析结果默认是以包为单位进行分组显示,分析内存泄漏问题主要会使用到其中的“Heap Histogram”
与OQL页签的功能,Heap Histogram可以找到内存中总容量最大的对象,OQL是标准的对象查询语言,使用
类似SQL的语法对内存中的对象进行查询统计。

首页拉到最下面,可以看到如下信息:

这里写图片描述

Other Queries 其他几种查询信息方式;

All classes including platform
这个就是我们现在看到的这个了,所有的对象信息显示出来,也是默认的显示方式。
Show all members of the rootset

这里写图片描述

Show instance counts for all classes (including platform)
显示所有的对象统计信息

这里写图片描述

Show instance counts for all classes (excluding platform)
显示平台外的所有对象信息

这里写图片描述

Show heap histogram
显示堆的统计信息

这里写图片描述

Show finalizer summary
显示finalizer 的统计信息

这里写图片描述

Execute Object Query Language (OQL) query
进入OQL查询页面

这里写图片描述

参考资料

猜你喜欢

转载自blog.csdn.net/weixin_39913200/article/details/81155310