Heap dumps are useful for identifying memory-related problems. You can analyze the heap to find memory leaks and locate the code that uses large amounts of memory resources. IntelliJ IDEA allows you to analyze .hprof snapshots regardless of whether they were taken in the IDE or any other external tool.
note
Memory snapshots reflect the state of a program at a particular instant. If you are interested in exploring objects created within a certain time frame, consider allocation profiling as it might be more suitable for this use-case.
Take a memory snapshot
If the process is already running through the Run or Services tool window, click Profile the process | Capture Memory Snapshot.
For arbitrary processes: in the Profiler tool window (View | Tool Windows | Profiler), right-click the process and select Capture Memory Snapshot.
When the snapshot is captured, it opens for analysis right away.
tip
If you want to capture a heap dump when a program runs out of memory, use the -XX:+HeapDumpOnOutOfMemoryError VM option for that. For steps to add a VM option, refer to Run/debug configurations.
The snapshot also appears under Recent snapshots. From there, you can view the recent snapshots or open other snapshots that are stored elsewhere on your hard drive.
Open an external memory snapshot
Open the Profiler tool window.
On the Recent Snapshots tab, click Open Snapshot, then select the hprof file that you want to open.
By default, the snapshots are stored in the user home directory. If you prefer another location, you can change that.
Change the snapshots location
Open the Profiler tool window.
On the Home tab, click More, then select Change Snapshots' Folder.
If you are developing an IDE plugin, you may want to take a memory snapshot of IntelliJ IDEA itself.
Take a memory snapshot of the IDE
In the main menu, go to Help | Diagnostic Tools | Capture Memory Snapshot.
Thanks for your feedback!
Was this page helpful?
Cookie Settings
Our website uses some cookies and records your IP address for the purposes of accessibility, security, and managing your access to the telecommunication network. You can disable data collection and cookies by changing your browser settings, but it may affect how this website functions. Learn more.
With your consent, JetBrains may also use cookies and your IP address to collect individual statistics and provide you with personalized offers and ads subject to the Privacy Notice and the Terms of Use. JetBrains may use third-party services for this purpose. You can adjust or withdraw your consent at any time by visiting the Opt-Out page.