生成堆转储Java JRE7

时间:2013-06-16 17:07:58

标签: java heap dump

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

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

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

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

感谢任何帮助。

1 个答案:

答案 0 :(得分: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