WebSphere Application Server Network Deployment, Version 6.0.x     Operating Systems: AIX, HP-UX, Linux, Solaris, Windows

Understanding the lightweight memory leak detection

This topic describes memory leaks in Java and introduces a new function, lightweight memory leak detection, in WebSphere Application Server, Version 6.0.2.

Memory leaks in Java

Although Java has an inbuilt garbage collection mechanism, which frees the programmer from any explicit object de-allocation responsibilities, nevertheless memory leaks are still common in Java applications. Memory leaks occur in Java applications when unintentional references are held to unused objects. This occurrence prevents Java Garbage Collection from freeing memory.

However, the term memory leak is overused --- what people really mean, and what really matters is memory misuse or mismanagement. Old unused data structures might have outstanding references and never be garbage collected. A data structure might have unbounded growth or there might not be enough memory that is allocated to efficiently run a set of applications.

Lightweight memory leak detection in WebSphere Application Server

Most existing memory leak technologies are based upon the idea that you know that you have a memory leak and want to find it. Because of these analysis requirements, these technologies have significant performance burdens and are not designed for use as a detection mechanism in production. This limitation means that memory leaks are generally not detected until the problem is critical; the application passes all system tests and is put in production, but it crashes and nobody knows why.

WebSphere Application Server has implemented a lightweight memory leak detection mechanism that runs within the WebSphere Runtime Performance Advisor framework. This mechanism is designed to provide early detection of memory problems in test and production environments. It is not designed to provide analysis of the source of the problem, but rather to provide notification and help generating the information required to use analysis tools. The mechanism only detects memory leaks in the Java heap, it does not detect native leaks.

The lightweight memory leak detection in WebSphere Application Server does not require any additional agents. The detection relies on algorithms that are based on information that is available from the Performance Monitoring Infrastructure service and has minimal performance overhead.




Sub-topics
[Version 6.0.2]Enabling the lightweight memory leak detection
Concept topic    

Terms of Use | Feedback

Last updated: Mar 17, 2005 4:28:29 AM CST
http://publib.boulder.ibm.com/infocenter/ws60help/index.jsp?topic=/com.ibm.websphere.nd.doc/info/ae/ae/cprf_leakdetection.html

© Copyright IBM Corporation 2002, 2005. All Rights Reserved.
This information center is powered by Eclipse technology. (http://www.eclipse.org)