3

我使用 jmap 转储堆内存

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

据我所知,堆转储 ascii 格式存在。但执行以下命令

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

打印了 jmap 用法。

ASCII 格式不存在?

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

这是二进制格式文件的片段。 在此处输入图像描述

4

2 回答 2

2

没有文本格式,只有:

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

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

也可以看看

于 2012-09-25T08:18:00.313 回答
1

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

不可能有真正的 ASCII 格式,因为这是二进制数据;ASCII 不包含任何设置了第 7 位的字节,这会遗漏很多重要信息。

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

于 2011-07-04T06:04:34.313 回答