生成堆转储Java JRE7

use*_*165 6 java heap dump

我正在尝试从我的java程序生成堆转储,但不管我似乎尝试了什么,我似乎无法弄清楚如何这样做.

我下载了Eclipse Memory Analyzer(插件,然后是Standalone),它应该能够从活动的jre进程中获取热量转储..但它没有列出.文档列出了生成它们的其他几个方面,但我似乎无法使它们中的任何一个工作,或者它们指的是我的系统上似乎不存在的东西.同样适用于我在网上找到的任何东西......

该程序没有导致内存不足的异常,它只是使用了更多的资源,然后我也期待它.

我完全不知道应该如何完成它:/

任何帮助将不胜感激.

dar*_*jan 8

您可以使用Java JDK手动完成jmap.exe.

  • 你得到了PID你的过程.
  • 导航到%JAVA_HOME%/ bin /(JDK)
  • 在控制台(命令提示符)类型中 jmap.exe -dump:format=b,file=C:\dump\dump.bin PID
    • 转储文件保存在您提供的路径中(在我的示例中C:\dump\dump.bin)

然后,您可以使用NetBeans IDE分析此转储.它有一个内置工具,只需导入dump.bin.