Pages

Monday, July 23, 2012

Serviceability Gem: WAS Heap Dump Analyzer Tool for Classloader memory leaks


The Eclipse Memory Analyzer tool downloaded from the IBM support assistant has WebSphere specific extensions to detect and analyze Classloader leaks.
To run this WAS Heap Dump Analyzer tool standalone to detect and provide root cause for classloader leaks run the following command

java -cp C:\development\tools\isa142\Administrator\applications\eclipse\plugins\com.ibm.mat64.win_1.1.0.64-1\eclipse\plugins\com.ibm.java.diagnostics.memory.analyzer.was_1.1.0.201108240003.jar com.ibm.ws.heapdump.Main

washda: expected filename
WASHDA v0.9.40
Usage: java -Xmx[MAXMEM] -jar washda.jar [OPTION]... FILE

WASHDA v0.9.40
  -allparents            Prints all parent references during leak analysis
  -analyzealarms         Performs alarm manager analysis
  -analyzecls            Performs class loader analysis
  -analyzeclleaks        Performs class loader leak analysis (default)
  -analyzeejbc           Performs EJB container analysis
  -analyzeejbclocks      Performs EJB container Entity Option A lock analysis
  -analyzeleaks PATTERN  Performs leak analysis on the specified object or on
                         objects matching the specified pattern
  -analyzememleaks       Performs memory leak analysis
  -analyzeorb            Performs ORB analysis
  -config FILE           Reads configuration from the specified file
  -console               Starts the interactive console
  -disablehashcodes      Disables object hashcodes to reduce memory use
  -disablesizes          Disables object size data to reduce memory use
  -gui                   Open the GUI window
  -help                  Prints this help text and exit
  -lowmemory             Reduces memory consumption (increases processing time)
                         See also -disablehashcodes and -disablesizes
  -maxdepth NUM          Stops leak analysis if a parent reference chain
                         exceeds the specified number during leak analysis
  -maxobjects NUM        Stops leak analysis if the number of traversed objects
                         exceeds the specified number during leak analysis
  -showconfig            Prints the configuration file and exits


Sample run of the command 

java -cp C:\development\tools\isa142\Administrator\applications\eclipse\plugins\com.ibm.mat64.win_1.1.0.64-1\eclipse\plugins\com.ibm.java.diagnostics.memory.analyzer.was_1.1.0.201108240003.jar com.ibm.ws.heapdump.Main  c:\temp\730409\heapdump.20120312.090607.22606.0002.phd

Opening c:\temp\730409\heapdump.20120312.090607.22606.0002.phd with WASHDA v0.9.40

  9068853 objects, 26956 classes, 20646253 references

Class loader summary (762 loaders, 25714 classes)

--------------------

457 sun/reflect/DelegatingClassLoader

 213 com/ibm/ws/classloader/CompoundClassLoader

 .....

 .....


This tool is provided as-is. 
Happy Debugging!


No comments:

Post a Comment

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