How To
Summary
The Eclipse Memory Analyzer Tool (MAT) is used for investigating Java memory issues such as OutOfMemoryErrors. This page provides downloads for the Eclipse Memory Analyzer Tool along with the IBM DTFJ extension and IBM Extensions for Memory Analyzer plugins pre-installed.
Steps
There are two builds of this tool. One build is to read dumps produced by IBM Java 8 and below. The other build is to read dumps produced by IBM Semeru Runtimes Java. You can install both builds in different directories and use the appropriate one depending on your dump type. Both builds process dumps produced by a HotSpot JVM the same.
- Ensure IBM Semeru Runtimes Java 17 JDK is on your PATH
- Download:
- To read dumps produced by IBM Java 8 and below:
- To read dumps produced by IBM Semeru Runtimes Java:
- On macOS, open the Terminal application, change directory to where you downloaded the file and run:
xattr -d com.apple.quarantine *.tar.gz
- Unzip or untar the downloaded file
- Launch MAT:
- Windows: MemoryAnalyzer.exe
- macOS: Eclipse.app
- Linux: MemoryAnalyzer
Ensure a large -Xmx if loading large dumps. To change JVM parameters, edit MemoryAnalyzer.ini (Windows/Linux) or Eclipse.app/Contents/Eclipse/MemoryAnalyzer.ini (macOS).
Additional Information
The Eclipse Memory Analyzer Tool is licensed under the Eclipse Public License Version 2.0. The source code is available at https://www.eclipse.org/mat/. The builds on this page are built by using extra patches to MAT that are available for download at https://public.dhe.ibm.com/software/websphere/appserv/support/tools/iema/mat_patches.zip.
Revision History
- 29 May 2024:
- Downgrade base MAT to commit 35b3ff77c1d8160550bf1c921a006c5bf018c924 pending resolution of issue 57.
- 22 May 2024:
- Upgrade to Eclipse 2024-03
- Detect dump truncation using DTFJ and raise a fatal error by default for truncated dumps. Though not recommended, such errors may be avoided under settings } Memory Analyzer } DTFJ Parser } How to perform a check of the reliability of the dump != Raise an error and stop processing if the dump is considered unreliable
- Detect if the dump was produced by IBM Semeru Runtimes but the running version of MAT is built for IBM Java dumps, or vice versa, and raise a fatal error by default if there is such a mismatch. The latter configuration is controlled with
-Dorg.eclipse.mat.dtfj.implementation=IBM Semeru Runtimes
. Though not recommended, such errors may be avoided under settings } Memory Analyzer } DTFJ Parser } How to perform a check of the reliability of the dump != Raise an error and stop processing if the dump is considered unreliable - Fix duplicate WAS HTTP sessions for PHDs
- Change "Problem Suspect" to "Large Consumer" in the leak suspects report
- Update query that converts an exception object's stack array to a human readable stack trace from long[]'s to also support int[]'s
- 5 December 2023:
- Update to MAT 1.15
- Upgrade to Eclipse 2023-09
- Update to IBM Java DTFJ 8.0.8.15 and Semeru DTFJ 17.0.9.0
- Add Eclipse archived update site downloads
- 31 July 2023:
- Update base MAT
- Upgrade DTFJ from IBM Java 8.0.8.6 and Semeru 17.0.7.0
- Enhance tWAS HTTP sessions query to show proper timezone-adjustment, oldest & newest session creation time, oldest & newest session access time, and session count by application name
- Enhance tWAS HTTP session holder name resolver for client server mode
- Add Liberty product version and installation directory to WAS Overview query
- 5 June 2023: Enhance WAS HTTP Session queries, and add Java 17 JVM arguments to handle J9 dumps.
- 9 May 2023:
- Update base MAT to 1.14 and Eclipse 2023-03
- MAT now requires launching with Java 17
- Update DTFJ to 8.0.8.0/11.0.18.0
- The files have been renamed to clarify the different dumps they can load:
- IBM Java: From com.ibm.java.diagnostics.memory.analyzer.MemoryAnalyzer-* to com.ibm.java.diagnostics.memory.analyzer.MemoryAnalyzer.ibmjava-*
- IBM Semeru Runtimes: From com.ibm.java.diagnostics.memory.analyzer.MemoryAnalyzer.openj9-* to com.ibm.java.diagnostics.memory.analyzer.MemoryAnalyzer.semeru-*
- New IEMA queries to understand the retained heap utilization of WAS XCI
- 27 December 2022:
- Update base MAT including leak suspects optimization
- Update DTFJ to 8.0.7.20/11.0.17.0
- Add Help } Diagnostics
- Add Thread Stack menu item
- 16 August 2022: Update DTFJ versions and the latest MAT
- 23 March 2022: Update DTFJ versions and Cognos extensions
- 10 December 2021: First version
These downloads are provided as is without any warranty or support. For any issues, contact Kevin Grigorenko (kevin.grigorenko@us.ibm.com) and we'll try to resolve any issues as time permits.
Related Information
Document Location
Worldwide
[{"Type":"MASTER","Line of Business":{"code":"LOB67","label":"IT Automation \u0026 App Modernization"},"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"ARM Category":[{"code":"a8m3p0000000rJtAAI","label":"IBM WebSphere Liberty-All Platforms-\u003ELiberty Profile-\u003EOutOfMemory"},{"code":"a8m50000000CdASAA0","label":"WebSphere Application Server traditional-All Platforms-\u003EOutOfMemory"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"},{"Type":"MASTER","Line of Business":{"code":"LOB08","label":"Cognitive Systems"},"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG9NGS","label":"IBM Java"},"ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]
Was this topic helpful?
Document Information
Modified date:
29 May 2024
UID
ibm16537402