Recent Posts

    Authors

    Published

    Tag Cloud

    stServer suggested Java arguments

    Low GC pause with large memory caches will give the highest performance.

    Below are the standard JVM server parameters. 

    G1 Garbage Collector

    • -XX:+UseG1GC
      • Turn on the G1 garbage collector. 
    • -XX:MaxGCPauseMillis=250
      • Target a maximum pause time of no more than 250 milliseconds.  

    Young Generation

    • -XX:PermSize=256m
      • The size of the permanent size. 
    • -XX:MaxPermSize=256m
      • Set the max and start size of the permanent memory segment. 

    DO NOT over tune the G1GC by setting -XX:NewSize=512m -XX:MaxNewSize=512m -XX:SurvivorRatio=2

    Logging Options

    • -verbose:gc
      • Verbosely log the garbage collection. 
    • -XX:+PrintGCDetails
      • Print the GC details
    • -XX:+PrintGCTimeStamps
      • Print the timestamps of when the GC occurred. 
    • -XX:+PrintGCApplicationStoppedTime
      • Print the time that the application was actually stopped. 
    • -XX:+PrintHeapAtGC
      • Print the heap when a full GC

    Miscellaneous Options

    • -server
      • Turn on the server compiler
    • -Xss8M
      • Stack size of 8 megs. 
    • -XX:+ExplicitGCInvokesConcurrent
      • When System.gc() is called do not stop the world. Just schedule a background GC. 
    • -XX:-OmitStackTraceInFastThrow
      • Always show the full stack trace for exceptions like NullPointerException
    • -d64
      • Turn on 64 bit JVM

    References