JVM jhat工具介绍举例说明用法

jhat 工具是一个Java堆分析工具,它可以把Java堆转换成一个本地文件,并启动一个内嵌的HTTP服务器,将分析结果输出到浏览器进行查看。

使用 jhat 工具需要两步:

通过 jmap 工具获取Java堆转储文件;
使用 jhat 工具分析Java堆转储文件。

下面是使用 jhat 工具的示例:

通过 jmap 工具获取Java堆转储文件

jmap -dump:live,format=b,file=heap.bin <pid>

这个命令会将指定进程 的Java堆转储到 heap.bin 文件中。其中,live 表示只转储活着的对象,format=b 表示使用二进制格式转储。

使用 jhat 工具分析Java堆转储文件

jhat -port 8000 heap.bin

这个命令会将 heap.bin 文件加载到内存中,并启动一个内嵌的HTTP服务器,将分析结果输出到浏览器的 http://localhost:8000/ 页面上进行查看。

在浏览器中打开 http://localhost:8000/ 后,可以看到一个基本的查询页面。在页面的上方有一个搜索框,可以用来搜索对象,下方是一些分析结果的概览信息。左侧是对象的类型和数量,右侧是对象的详细信息。

可以通过搜索框来查找特定的对象,也可以通过点击左侧的对象类型,进入到该类型的对象列表页面,查看具体的对象信息。在对象信息页面中,可以查看对象的引用关系、大小、地址、类名等信息。