Is there a replacement for the garbage collection JVM args in Java 11?

martin_wun picture martin_wun · Jan 11, 2019 · Viewed 15.6k times · Source

In Java 11 a number of JVM args relating to GC logging are not supported anymore. What, if anything, can they be replaced with, if we still want to use GC logging? In particular, this relates to the following JVM args:

-Xlog:gc:work/logs/gc.log
-XX:+PrintGCTimeStamps
-XX:+PrintGCDateStamps
-XX:+PrintGCDetails
-XX:+PrintGCApplicationStoppedTime
-XX:+UseGCLogFileRotation
-XX:NumberOfGCLogFiles
-XX:GCLogFileSize

Thanks.

Answer

Naman picture Naman · Jan 11, 2019

List of your <arguments, current mapping, reasons> is as follows:

-XX:+PrintGCTimeStamps    
-XX:+PrintGCDateStamps    ==>  decoration options
                               -Xlog:::time,level,tags

-XX:+PrintGCDetails       ==>  -Xlog:gc*

-XX:+PrintGCApplicationStoppedTime ==> -Xlog:safepoint

Note: PrintGCApplicationConcurrentTime and PrintGCApplicationStoppedTime are logged on the same tag and not separated in the new logging.


-XX:+UseGCLogFileRotation
-XX:NumberOfGCLogFiles    
-XX:GCLogFileSize          ==>  output options
                                -Xlog::::filecount=5,filesize=1024

The bits that are handled by the framework do require tweaking

Reference: The documentation I've referred to and request you to follow for such migration details.