Are there any tools to help tune the JVM?

John Clingan: Try jvmstat or the tools built into the JDK: http://java.sun.com/performance/jvmstat/

Byron Nevins: An important point is – use the server JVM not the client JVM if you want "better" garbage collection.