jmap支持ASCII格式和二进制格式的堆转储。

3

我使用jmap命令来转储堆内存。

jmap -dump:format=b,file=test.hprof 22035

据我所知,堆转储ASCII格式是存在的。但执行以下命令:
jmap -dump:format=a,file=test.hprof 22035

打印jmap使用方法。

ASCII格式不存在吗?

我想知道堆转储二进制格式的文档。 谷歌搜索...没有答案,没有文档。

以下是二进制格式文件的片段。 enter image description here

2个回答

2

没有文本格式,只有:

-dump:<dump-options> to dump java heap in hprof binary format
                     format=b     binary format

这是有道理的,将JVM内存以文本格式转储将占用大量的GiB... 这个文件可以被堆转储分析器(如Eclipse matJProfiler)读取。

另请参阅


1

只需将二进制输出通过过滤器(如less,具有各种控制字符显示选项)或默认执行十六进制转储和 ASCII 转储的xxd进行处理。

由于这是二进制数据,因此不存在真正的 ASCII 格式;ASCII 不包括任何带有第 7 位设置的字节,这将遗漏许多重要信息。

这里有一些文档:http://java.sun.com/developer/technicalArticles/Programming/perfanal/java.hprof.txt


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接