I have generated a heap dump from my java application which has been running for some days with the jmap
tool -> this results in a large binary heap dump file.
How can I perform memory analysis of this heap dump within IntellIJ IDEA?
I know that there are tools for Eclipse and Netbeans but I would rather use IDEA if possible.
The basic results of the analysis would tell me the number of instances of each object in memory, per-class, to allow me to be able to start debugging memory leaks.
This question is related to
java
intellij-idea
heap-dump
jmap
memoryanalyzer
You can just run "Java VisualVM" which is located at jdk/bin/jvisualvm.exe
This will open a GUI, use the "File" menu -> "Load..." then choose your *.hprof file
That's it, you're done!
There also exists a 'JVM Debugger Memory View' found in the plugin repository, which could be useful.
You can install the JVisualVM plugin from here: https://plugins.jetbrains.com/plugin/3749?pr=
This will allow you to analyse the dump within the plugin.
You can also use VisualVM Launcher to launch VisualVM from within IDEA. https://plugins.jetbrains.com/plugin/7115?pr=idea I personally find this more convenient.
I would like to update the answers above to 2018 and say to use both VisualVM and Eclipse MAT.
VisualVM is used for live monitoring and dump heap. You can also analyze the heap dumps there with great power, however MAT have more capabilities (such as automatic analysis to find leaks) and therefore, I read the VisualVM dump output (.hprof file) into MAT.
Download VisualVM here: https://visualvm.github.io/
You also need to download the plugin for Intellij:
Then you'll see in intellij another 2 new orange icons:
Once you run your app with an orange one, in VisualVM you'll see your process on the left, and data on the right. Sit some time and learn this tool, it is very powerful:
Download here: https://www.eclipse.org/mat/downloads.php
Hope it helps!
Source: Stackoverflow.com