Heapster

Heapster is a java agent which monitors garbage collection of objects. Using the Heapster client, you
can see graphs of object allocation, the stack traces for object allocation, object histograms,
explore retained heap, and much more. This can all be done without using jmap. Just connect the Heapster
client to your host JVM! Warning! The object graph functionality is not practical for most JVMs
and is somewhat a failed experiment.