2 Replies Latest reply on Apr 24, 2012 10:38 AM by 858090

    Having problems in tuning G1GC


      We've start using G1GC in our real time online transaction processing application. We are currently using JDK (Solaris) at our servers. We are using SUN SPARC ENTERPRISE
      T5140 SERVER.

      Problem: We are struggling with long pause times ranges from 6-12 seconds, which directly effect our online processing. Even our monitoring threads are also halted during this pause time. We are using following JVM Params:

      -server -verbosegc -Xms512m -Xmx3076m -Xmn256m -XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError -XX:-DisableExplicitGC -XX:+UseG1GC -XX:+AggressiveOpts
      -XX:+UnlockExperimentalVMOptions -XX:+DoEscapeAnalysis

      Please advice any improvements,


        • 1. Re: Having problems in tuning G1GC
          What can you tell use about the nature of long pause times? How often do they occur? Is it after a burst of activity?

          Have you tried memory profiling your application to minimise object creation?
          1 person found this helpful
          • 2. Re: Having problems in tuning G1GC
            We were able to resolve the issue by using concurrent, multi threaded garbage collector i.e. G1GC:

            -server -d64 -Xms1024m -Xmx3072m -XX:+HeapDumpOnOutOfMemoryError -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:+AggressiveOpts -XX:+DoEscapeAnalysis -XX:MaxGCPauseMillis=400 -XX:GCPauseIntervalMillis=8000 -XX:+UseCompressedOops -XX:NewRatio=50

            We can also use additionally following JVM Params w.r.t debugging/logging:

            -XX:+PrintGCTimeStamps -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCApplicationConcurrentTime