-
Notifications
You must be signed in to change notification settings - Fork 33
Home
Welcome to the Eclipse Memory Analyzer Toolkit wiki!
The Eclipse Memory Analyzer tool (MAT) is a fast and feature-rich heap dump analyzer that helps you find memory leaks and analyze high memory consumption issues.
With Memory Analyzer one can easily
-
find the biggest objects, as MAT provides reasonable accumulated size (retained size)
-
explore the object graph, both inbound and outbound references
-
compute paths from the garbage collector roots to interesting objects
-
find memory waste, redundant String objects, empty collection objects, etc
See the download page for installation instructions.
Both the Basic Tutorial chapter in the MAT documentation and the Eclipse Memory Analyzer Tutorial by Lars Vogel are a good first reading, if you are just starting with MAT.
Check:
-
Learning materials. You will find there a collection of presentations and web articles on Memory Analyzer, which are also a good resource for learning.
Proceed over to Getting a heapdump.
Memory Analyzer can be used without the desktop GUI. There are several approaches depending on your needs:
- ParseHeapDump scripts -- run batch reports from the command line or in CI pipelines
- Eclipse JIFA -- a web application that wraps the MAT engine, providing a REST API and collaborative browser-based analysis
-
Direct OSGi embedding -- bootstrap the Eclipse Equinox runtime to get full
ISnapshotAPI access in your own JVM process - Docker -- run MAT analysis in containers for portable CI/CD
See Headless and Programmatic Usage for details on each approach.
See some tips in Large Heap Performance.
Memory Analyzer is extensible, so new queries and dump formats can be added.
Please see the dev-doc/ folder in the project repo for details.
-
MAT Calcite is a plugin to allow SQL queries against the heapdump.
-
Eclipse JIFA wraps the MAT analysis engine in a web application with a REST API. It handles the OSGi bootstrapping internally, making it the simplest way to use the MAT engine from a non-Eclipse Java application. JIFA also provides GC log, thread dump, and JFR analysis.