如何在java中使用jmap分析堆转储

2022-08-31 15:36:36

我正在使用以下命令创建堆转储:

jmap -dump:file=DumpFile.txt <process-id>

我已经打开了生成的文件 - 但它不是可读格式。因此,请让我知道如何分析生成文件中的数据。DumpFile.txt


答案 1

您应该在没有任何路径的情况下使用。因此,它会创建一个*.bin文件,您可以使用该文件打开该文件(与jmap相同的路径)。这是打开此类转储文件的绝佳工具。jmap -heap:format=b <process-id>jvisualvm.exe


答案 2

您可以使用 jhat(Java 堆分析工具)读取生成的文件:

jhat [ options ] <heap-dump-file>

jhat 命令解析 java 堆转储文件并启动 Web 服务器。jhat使您能够使用您喜欢的Web浏览器浏览堆转储。

请注意,您应该有一个二进制格式的输出,以便能够使用 解析它。您可以使用 Option 以这种格式生成转储。hprofjhatformat=b

-dump:format=b,file=<filename>

推荐