The following is list of observability highlights of Mustang (Java SE 6). This may not be exhaustive. I may have missed few things!
This is a new command line tool [HAT +fixes+improvements + OQL (Object Query Language)]. Helps in analyzing OOM situations. More info is here:
With this option, jmap dumps snapshot of heap in binary HPROF format. The resultant dump can be analyzed with jhat
With this new option, jstack prints java.util.concurrent locks and possible deadlocks due to those locks. More info here: jstack.
jstack displays Java stack traces for live processes (only).
dumps Java heap snapshot in a file for live processes (only). Window version supports
just "jmap -dump:format=b,file=
Internalized Strings are stored in permanent generation. Sometimes too many interned Strings may result in OutOfMemoryError. jmap -permstat option now prints total number and size of internalized String instances.
New JVM option -XX:+HeapDumpOnOutOfMemoryError to force heap dump on OOM. More info here: OutOfMemoryError looks a bit better!
There are many built-in DTrace probes in Mustang. More info is here:
There has been many improvements to jconsole. More info is here:
API to load JVM agents dynamically into running applications (a.k.a "attach-on-demand"). More info is here: Using Mustang's Attach API
Apart from bugfixes, to me this is very important change: hprof now includes primitive type instance fields and primitive array content in heap dumps.
Posted by Gili on December 08, 2005 at 02:55 AM IST #
Posted by A. Sundararajan on February 21, 2006 at 06:28 AM IST #