I am using Java 5 and our custom server application needs GC tunning, as some times we are experiencing 15-20 seconds pause on peak hours. We are running Java 5 on a server class machine with JVM args like -server -d64
Is there a way to tell which GC algorithm the JVM is currently using?
http://docs.oracle.com/javase/1.5.0/docs/guide/vm/gc-ergonomics.html
On server-class machines running the server VM, the garbage collector (GC) has changed from the previous serial collector (-XX:+UseSerialGC
) to a parallel collector (-XX:+UseParallelGC
). You can override this default by using the -XX:+UseSerialGC
command-line option to the java command.
1) I want to know is that really happening?
my next question is I have added the following at command line arguments
-verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCApplicationConcurrentTime -Xloggc:logs/gc.log
2) will they have any performance or behavioral effect on the running JVM except logging GC logs?