As already mentioned, jvisualvm is a great way to get started, but as soon as you know what's going on, you may need to find something that holds links to objects that I would recommend jmap and jhat about, for example
jmap -dump:live,file=heap.dump.out,format=b <pid>
and
jhat heap.dump.out
where <pid> is easy to find from jvisualvm. Then, in the browser, go to localhost: 7000 and start exploring.
Steve bosman
source share