The moose likes Performance and the fly likes Comparing Memory Graphs! Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Java Interview Guide this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Java » Performance
Bookmark "Comparing Memory Graphs!" Watch "Comparing Memory Graphs!" New topic

Comparing Memory Graphs!

Anand Rajamani

Joined: Sep 18, 2009
Posts: 5
Hello all,

Our application is running on multiple servers based on load balancing .
The application is deployed in all of them.
There has been an Out of memory issue and we identified 2 possible reasons for memory leak.
1 is oracle connections where not closed .
the other one is connection object for mainframe was not released.

These were identified based on heap dump analysis and the fix was put in only 2servers to find the behaviour.

Now I have connected jconsole to all the servers for monitoring

1 server where there is no fix and
another server where there is a fix.

Now question is how to read the memory graph and validate the fix?

one good thing is in one server where we have the fix memory graph is almost flat.
and another server where the fix is not available the memory graph is slanting .

but the load in both of them are not exactly equal .

Is there a standard way or intelligent way to analyze and read jconsole graph?
is there any template ?


James Ward
Ranch Hand

Joined: Apr 27, 2003
Posts: 263
A few questions:

1. Where did you see Out of Memory Exception - was it in your application/server log file? Does that give you a hint as to what was going on when you got that exception.
2. Have you tried Visual VM (<JDK_HOME>\bin\jvisualvm.exe) - this is better than JConsole. Its there in JDK 1.6 (maybe in 1.5 too, not sure)
3. Can you examine the Heap Dump - to see if there are a huge number of objects of a particular class - that are not expected?

Anand Rajamani

Joined: Sep 18, 2009
Posts: 5
The out of memory we got thru heap dump file
It is analyzed with heap analyzer tools like netbeans and no tools gave exact result.
but based on top 20 memory consumers we
identified 2 problems in application and had put fix.
closing oracle and mainframe connections.

It is not a direct java appl.tibco java combined application

Now qstn is how to compare the memory graph and not on heap error.

I agree. Here's the link:
subject: Comparing Memory Graphs!
It's not a secret anymore!