我创建了一个简单的控制台应用程序,通过Eclipse运行(右键单击文件并选择“作为Java应用程序运行”)。我在其中加入了一个睡眠功能,以确保当我启动获取堆转储对话框时,该进程仍在运行。我启动对话框,点击刷新,但是没有列出任何本地进程。
我检查了Eclipse的错误日志,只报告了无法列出IBM VM进程的问题(HPROF已配置且正常工作)。
我做错了什么?
我检查了Eclipse的错误日志,只报告了无法列出IBM VM进程的问题(HPROF已配置且正常工作)。
我做错了什么?
https://blogs.oracle.com/sundararajan/entry/programmatically_dumping_heap_from_java
当遇到以下安全问题时:
从应用程序内部创建堆转储,而不使用HotSpotDiagnosticMXBean我在我的JUnit测试中使用它来在固定迭代次数后进行堆转储,现在只需要在Eclipse MAT中打开这些转储并找到内存泄漏的原因 :-(
我遇到了同样的问题,在Google上找到了这个解决方案。
在“获取头信息转储” -> “配置...” -> 选择“HPROF jmap 转储提供程序” -> “-jdkhome”中指定jdk路径。->指定jdk路径,默认情况下应该是 “C:\Program Files\Java\jdk1.8.0_102”或您的jdk位置。
希望对您有所帮助。