打开堆转储 .hprof 所需的内存

Memory needed for opening heap dumps .hprof

如果我使用任何 Java 应用程序(如 VisualVM)打开堆转储(hprof 文件),VisualVM 需要的堆内存是否大于 hprof 文件大小?

在我的例子中,hprof 是 4Gb 文件,而 VisualVM 有 2GB 堆大小,它无法正确加载 HPROF 文件。

您不需要比 hprof 文件大小更多的 VisualVM 堆内存。 VisualVM 不会将堆转储加载到 JDK 堆中。它使用内存映射文件代替。这样即使VisualVM的默认Xmx是256M,它也可以使用大量内存。