WestFarmer
WestFarmer

Reputation: 765

how to find the class causing memory leak?

We run a weblogic server on IBM J9 VM with heap size 512M.

Today, the server is failed with OutOfMemory error.

I opened the heap dump file xxx.phd with Eclipse Memory Analyzer(and IBM DTFJ pluign is installed to support .phd file).

The MAT give me a leak suspect report like this:

One instance of "java.lang.Object[]" loaded by "<system class loader>" occupies 402,572,608 (74.86%) bytes. The memory is accumulated in one instance of "java.lang.String[][]" loaded by "<system class loader>".

how can I find the class which created this big array?

or those classes still using this big array ?

or any hint helping me to identify the big array ?

Upvotes: 4

Views: 1298

Answers (1)

YamYamm
YamYamm

Reputation: 401

Your best bet is to use a profiler to pinpoint the location of the memory leaks since a number of different locations can exhaust the JVM's memory and caused the OutOfMemory exception. Only examining memory dump will take you so far.

Upvotes: 2

Related Questions