Eclipse MAT – Titbits

Eclipse MAT is a great JVM Memory Analysis tool. Here are few tit-bits to use it effectively.

matUse stand-alone version

Two versions of Eclipse MAT is available:

1. Stand-alone
2. Eclipse Plugin

Based on my personnel experience, stand-alone version seems to works better and faster then plugin version. So I would highly recommend installing Stand-alone version.

Eclipse MAT – heap size

If you are analyzing a heap dump of size say 2 GB, allocate at least 1 GB additional space for Eclipse MAT. If you can allocate more heap space than it’s more the merrier. You can allocate additional heap space for Eclipse MAT tool, by editing MemoryAnalyzer.ini file. This file is located in the same folder where MemoryAnalyzer.exe is present. To the MemoryAnalyzer.ni you will add -Xmx3g at the bottom.

Example:

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20140603-1326
-vmargs
-Xmx3g

Enable ‘keep unreachable objects’

From it’s reporting Eclipse MAT removes the object which it thinks as ‘unreachable’. As ‘unreachable’ objects are eligible for garbage collection, MAT doesn’t displays them in the report. Eclipse MAT classifies Local variables in a method as ‘unreachable objects’. Once thread exits the method, objects in local variables will be eligible for garbage collection.

However there are several cases where thread will go in to a ‘BLOCKED’ or prolonged ‘WAITING’, ‘TIMED_WAITING’ state. In such circumstances local variables will be still alive in memory, occupying space. Since Eclipse MAT default settings doesn’t show the unreachable objects, you will not get visibility in to these objects. You can change the default settings in Eclipse MAT 1.4.0 version by:

1. Go to Window > Preferences …
2. Click on ‘Memory Analyzer’
3. Select ‘Keep unreachable objects’
4. Click on ‘OK’ button

mat-keep-unreachable

Fig:¬†Eclipse MAT 1.4.0, showing how to enable ‘Keep unreachable objects’

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Create a free website or blog at WordPress.com.

Up ↑

%d bloggers like this: