Visualize Garbage Collection

June 08, 2004
coldfusionjava

Sun has released (for free) a very cool program called Visual GC 2.0 in their jvmstat toolkit (via: Moazam Raja). The tool will show you graphically how memory is organized into generation in your JVM. This is very handy for tuning garbage collection parameters because you can see how your application uses the JVM's different generations.

For instance if we wanted to visualize garbage collection on a ColdFusion MX application server (note JVM 1.4.2 is required MX 6.1 includes uses version), the first thing we need to know is the process ID of the JVM. This can be found with the utility that comes with jvmstat called jvmps

C:\bin\jvmstat\bat>jvmps
3096
3416 jvmps.jar

From my testing you need to be running as the same user that created the JVM. So if your running ColdFusion MX as a service on Windows it is probable that the JVM is running under the SYSTEM account. To get around this run C:\CFusionMX\bin\cfstop.bat and then C:\CFusionMX\bin\cfstart.bat this will start CFMX as the user that your logged in as. If your on unix you can just su or sudo using the user CFMX is running as.

Next you just launch the visualgc program:

C:\bin\jvmstat\bat>visualgc 3096

And here's what the output might look like:

Visual GC



Related Entries

1 person found this page useful, what do you think?

Comments

Pete, I just downloaded JVM Stat 3.0 from the Sun website. Unfortunately, the jvmps command wasn't included in the latest distribution. Therefore, I can't find the correct process identifier to use for the tool. Any ideas?
Damon, probabbly too late for you, but if anyone else wants to know, Windows Task Manager tells you the process id. In Task Manager, under the process tab, click the view menu and click "select columns". In that list is process id. Turn it on, and it shows the PID.
You need to use jvmstat 2.0 with CF MX 6.1 and JVM 1.4.2 (you can get it here http://java.sun.com/performance/jvmstat/faq.html#11 (see #11). Be sure to follow Pete's other instructions.
The jvmps command has been replaced by jps command in bin directory of SDK 1.5.X You can use : -m and -l options for informations about used options of the JMV running processes listed by jps.

Post a Comment




  



Spell Checker by Foundeo

Recent Entries



foundeo


did you hack my cf?