如何在 IntelliJ 中分析堆转储?(内存泄漏)如何使用:
2022-08-31 14:44:00
我从我的java应用程序中生成了一个堆转储,该应用程序已经使用工具运行了几天 - >这会导致一个大型二进制堆转储文件。jmap
如何在 IntellIJ IDEA 中对此堆转储执行内存分析?
我知道有Eclipse和Netbeans的工具,但如果可能的话,我宁愿使用IDEA。
分析的基本结果将告诉我内存中每个对象的实例数(每个类),以便我能够开始调试内存泄漏。
我从我的java应用程序中生成了一个堆转储,该应用程序已经使用工具运行了几天 - >这会导致一个大型二进制堆转储文件。jmap
如何在 IntellIJ IDEA 中对此堆转储执行内存分析?
我知道有Eclipse和Netbeans的工具,但如果可能的话,我宁愿使用IDEA。
分析的基本结果将告诉我内存中每个对象的实例数(每个类),以便我能够开始调试内存泄漏。
我想将上面的答案更新到2018年,并说同时使用VisualVM和Eclipse MAT。
VisualVM 用于实时监视和转储堆。您还可以以强大的功能分析那里的堆转储,但是MAT具有更多功能(例如自动分析以查找泄漏),因此,我将VisualVM转储输出(.hprof文件)读取到MAT中。
在此处下载 VisualVM:https://visualvm.github.io/
使用橙色应用运行应用后,在 VisualVM 中,你将在左侧看到进程,在右侧看到数据。坐一会儿学习这个工具,它非常强大:
在此下载: https://www.eclipse.org/mat/downloads.php
希望它有帮助!