Welcome!

XML Authors: Jason Bloomberg, Jayaram Krishnaswamy, David Weinberger, Michael Nir, David Smith

Related Topics: Java, XML, SOA & WOA, AJAX & REA, Web 2.0, Security

Java: Blog Feed Post

Where Is Your Focus for Memory Leak Detection?

Some of these problems are extremely difficult to troubleshoot

*&%#* The system is running slow again!  Now what? Is there a space hog application sucking up all my resources?  Did we just crash? No, must not say that word...must not say that word...  ...still running, just sloooowly.  I wonder if anything new has been installed… Nice if they told me. I overheard that something new might have been installed  last week.  Could there be a memory leak?  Are they checking for one?  Are they looking in the right place? Hide and seek with a leak is NO fun.  How many times have you sat staring at your monitor until your eyes burn and blur, trying to figure out where the problem lies?

Detecting memory leaks

There are so many places to look for a leak, that it is virtually impossible to find manually. And how do I tell the difference between a leak and increased demand?  The symptoms can be  similar. It is important to analyze all of the leak possibilities, because at the end of the day, if you are leaking memory in the JVM, you will find an increase in the heap and an increase in GC activity, culminating in hangs or blocks and finally, OutOfMemory exceptions.  If the Java code is meant to run on a server 24 hours a day, then memory leaks can become significant.  Even the smallest leak in code that is run continuously will eventually result in the JVM exhausting all of the memory available.

Some examples of Memory Leak causes are:

  • Handle Leak
  • Class Loader Leak
  • Thread Leak
  • Unchecked arrays
  • Bugs in the code
  • Unchecked hash map growth
  • Programmers forgetting to close prepared statements, sockets or file handles

Some of these problems are extremely difficult to troubleshoot.  These leaks need to be found, addressed and handled ASAP. With the number of things an IT group has to handle on any given day, there just isn't the time or the manpower to take an exceptional amount of time to deal with manual leak detection.  Automation is the only logical way to find them.  To be notified when there is a possible leak detected and how to mitigate a JVM failure is the optimal solution.  No headaches, no blurry vision, no screaming users.  How good life could be. For more information on how you can automate your leak detection and ease the stress of your day, listen to the Nastel TechTalk, “Java Memory Leaks II – Detection to Diagnostics

The post Where Is Your Focus For Memory Leak Detection? appeared first on Middleware-centric APM.

Read the original blog entry...

More Stories By Charles Rich

Charles Rich is Vice President of Product Management at Nastel Technologies, a provider of middleware-centric application performance monitoring for mission-critical applications from the datacenter to the cloud. He is a software product management professional who brings over 27 years of technical hands-on experience working with large-scale customers to meet their application and systems management requirements.