Select Page

We found the main culprit for the memory leak using a sleak and powerful tool that happens to be blazingly fast. The MAT (memory analyzer tool) is an Eclipse RCP that seems to be a reincarnation of SAP’s former heap analysis tool. The tool works wonders and allowed us to view object paths to the garbage collector root set in just seconds while this operation kept bringing our server when we were using jhat instead.
To prevent the coding violation (the simple one that caused the mem leak) from occurring again, we’re looking into Checkstyle and we’re leaning more towards Checkstyle than PMD. This is for the simple reason that Checkstyle generates violations if javadocs aren’t written.
I’ll try to write in detail about our experience with MAT and how it traced who was holding onto to objects, preventing them from being garbage collected.