To blog Previous post | Next post
Solution guidelines for detected memory leaks
You might have thought Plumbr leak detection service couldn’t get much better than the current offering:
- We find all memory leaks
- We highlight the location of the leak in the source code
- We find the leaks before your end users notice anything
But we didn’t take it as excuse to rest on our laurels, and still looked for ways for improvement. Today we are ready to announce step-by-step specific guidelines for fixing the memory leak. Below is a report from yesterday where Plumbr detected a classloader leak on one of our user’s application, causing 3340 classes to waste their precious permgen on each redeploy:
Here’s what we added to the leak report:
- The reason. In this case Plumbr detected the buggy MySQL driver as the cause for the leak.
- The solution. In our specific case, Plumbr suggests upgrading the driver and adding a simple ServletContextListener to be registered in the application’s web.xml
Feedback from our early test users confirms that adding this information to leak reports makes solving those evil memory leaks even easier than before.
How can we possibly be able to add this information, you might ask? We have worked hard during the past months to make better use of the anonymous data free Plumbr versions send us. One of the outcomes was that we identified the most common patterns for memory leak scenarios. We also learned that more often than not, the fixes for those causes turned out to be pretty straight forward. So we started writing step-by-step instructions that would help you solve the leak, should your application have one of the more common leak scenarios.
Currently, our algorithms offer a fix to 13% of the memory leaks Plumbr detects. We continue to improve them and believe that by the end of the year we are able to give you a solution in around 40% of the cases.
If this sounds interesting, go ahead and find out whether your application contains a memory leak for free. In our experience, roughly half of the applications do contain a memory leak. And for our average application it just takes 70 minutes for Plumbr to find it.