Pages

Tuesday, May 10, 2011

How to detect a WebSphere Java classloader memory leak via the Eclipse Memory Analyzer tool

A presentation on Class Loading and debugging Class Loader memory leaks in WebSphere Application Server by Ian is an excellent treatise on this topic. Short summary follows:
1.  Run "classloader explorer" query
2.  Sort classloaders by name - identify the WAS CompoundClassLoaders
3.  Examine each CompoundClassLoader object - according to WAS, those whose localClassPath field is set to the empty string should be eligible for collection.
4.  For each CompoundClassloader whose localClassPath is the empty, string, run "Classloader->Path to GC roots->Exclude all weak/soft/phantom etc. references."
5.  Review the reference chains for each classloader and analyse for possible culprits/owners.

Debugging WAS from Dumps: Diagnose more than leaks with Memory Analyzer and its IBM Extensions pleas is another great presentation to understand how to do JVM debugging 


For bonus you can also look at  On the Move? WebSphere JDK Migrations, Past, Present and Future... and Beyond


These links and presentations are from the WebSphere UK User Group
http://www.websphereusergroup.org.uk/wug/downloads/31/

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.