我已经从我的java应用程序中生成了一个堆转储,这个应用程序已经使用jmap
工具->运行了几天,这导致了一个大型二进制堆转储文件。
如何在IntellIJ IDEA中对这个堆转储执行内存分析?
我知道有一些工具可以用于Eclipse和Netbeans,但如果可能的话,我更愿意使用IDEA。
分析的基本结果将告诉我每类内存中每个对象的实例数,以便我能够开始调试内存泄漏。
发布于 2014-10-20 08:06:04
最好的事情是内存分析器(MAT),IntelliJ没有任何捆绑的堆转储分析器。
发布于 2018-07-13 14:50:33
我想把上面的答案更新到2018年,并说要同时使用VisualVM和Eclipse。
使用方法:
VisualVM用于实时监视和转储堆。您还可以使用强大的功能来分析堆转储,但是MAT具有更多的功能(例如自动分析以查找泄漏),因此,我将VisualVM转储输出(.hprof文件)读入MAT。
获取VisualVM:
下载VisualVM:https://visualvm.github.io/
您还需要下载Intellij的插件:
然后您将在intellij中看到另2个新的橙色图标:
一旦你用橙色的程序运行你的应用程序,在VisualVM中你会看到你的进程在左边,数据在右边。坐下来学习这个工具,它是非常强大的:
将Eclipse的内存分析工具(MAT)作为独立的:
下载:https://www.eclipse.org/mat/downloads.php
这就是它的样子:
希望能帮上忙!
发布于 2014-10-20 07:36:03
您还可以使用VisualVM启动程序从IDEA内部启动VisualVM。https://plugins.jetbrains.com/plugin/7115?pr=idea,我个人觉得这更方便。
https://stackoverflow.com/questions/26460410
复制相似问题