GCViewer is a free open source tool to visualize data produced by
the Java VM options
It also calculates garbage collection related performance
metrics (throughput, accumulated pauses, longest pause, etc.).
This can be very useful when tuning the garbage collection of a particular
application by changing generation sizes or setting the initial
heap size. See here for a useful
summary of garbage collection related JVM parameters.
For more information on tuning garbage collection on Sun JVMs, take
a look at the documentation provided by Oracle.
- Sun JDK 1.4/1.5 with the options
- Sun JDK 1.2.2/1.3.1/1.4 with the option
- IBM JDK 1.3.1/1.3.0/1.2.2 with the option
- IBM iSeries Classic JVM 1.4.2 with
- HP-UX JDK 1.2/1.3/1.4.x with the option
- BEA JRockit 1.4.2/1.5 with the option
GCViewer can also export the data in CSV (comma separated values) format, which may easily be imported into spreadsheet applications for further processing.
I have stopped improving GCViewer in 2008, however, there is a current fork by Jörg Wüthrich at https://github.com/chewiebug/GCViewer that aims at improving compatibility with current JVMs.
GCViewer has been developed with J2SE 1.4 and is licensed under LGPL.
To find out more about how to use GCViewer, please read the article published in Jack Shirazi's performance newsletter.
Other GC related Tools and Links
- VMFlags - Summary of parameters for IBM and Sun JVMs
- visualgc - Part of Sun's jvmstat.
- GCPortal - Article and tool.
- IBM Garbage Collection and Storage Allocation Techniques - Comprehensive document about the IBM garbage collector.
- Tuning Whitepaper - Sun's Java Tuning Whitepaper
- List of Java 6 -XX options - Very short description of each option