Instructions
- Open both heap dumps in MAT
- Open the histogram for the whichever heap dump demonstrates the anomalous behavior (usually the one with the higher memory or thread usage).
![enter image description here]()
- Compare it to another heap dump
![enter image description here]()
- Select the appropriate heap dump from the list
![enter image description here]()
Interpreting results
![enter image description here]()
Class Name: The class that is instantiated in the application, taking up memory
Objects: The count of how many instances of the class are present above or below the other heap dump.
Shallow Heap: The number of bytes the given class is taking up in memory above or below the other heap dump.
Tips
Since MAT sorts descending by default I recommend toggling the ordering of the Objects and Shallow Heap columns to see the top outliers for each in both directions.
Typically you should ignore the pure Java classes like Strings, Arrays, and Maps and focus on the classes that your app defines.
Reference
Comparing Objects Official Eclipse Help Doc