2014-10-20 77 views
26

我已經使用jmap工具運行了幾天的java應用程序生成了堆轉儲 - >這會產生一個大的二進制堆轉儲文件。如何分析IntelliJ中的堆轉儲? (內存泄漏)

如何在IntellIJ IDEA內執行堆轉儲的內存分析?

我知道有用於Eclipse和Netbeans的工具,但如果可能的話,我寧願使用IDEA。

分析的基本結果會告訴我每個內存中的每個對象的實例的數量,以允許我能夠開始調試內存泄漏。

回答

23

最好的東西是Memory Analyzer (MAT),IntelliJ沒有任何捆綁的堆轉儲分析器。

+4

MAT有IntelliJ插件嗎? – johnsam 2016-09-07 22:00:48

7

您還可以使用VisualVM啓動器從IDEA內啓動VisualVM。 https://plugins.jetbrains.com/plugin/7115?pr=idea 我個人覺得這樣比較方便。

+0

好的,謝謝。這個插件似乎需要我在本地運行java進程 - 是否正確?我想從服務器導出堆轉儲,將其複製到本地計算機並在此處分析。 – vikingsteve 2014-10-20 08:15:27

+2

此插件只啓動VisualVM並在其中打開所需的應用程序。它與你的情況無關。您可以手動啓動VisualVM並打開轉儲。 – Meo 2014-10-20 08:35:23

4

在插件庫中還有一個'JVM調試器內存視圖',這可能很有用。

+3

該插件與2017.1之後的IDEA版本不兼容。內存視圖在IDEA 2017.1開箱即可使用。 https://plugins.jetbrains.com/files/8537/screenshot_16824.png – 2017-09-11 10:55:04

-1

我只是安裝一個名爲JVM Bugger Analyzer的插件,它工作正常!