Java 11 中是否有垃圾收集 JVM args 的替代品?

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

在 Java11 中,一些与 GC 日志相关的 JVM 参数不再受支持。如果我们仍然想使用 GC 日志记录,可以用什么来代替它们?特别是,这与以下 JVM args 相关:

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

谢谢。

你的<arguments, current mapping, reasons>列表如下:

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

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

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

注意PrintGCApplicationConcurrentTimePrintGCApplicationStoppedTime记录在同一个标​​签上,在新的记录中没有分开。


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

框架处理的位确实需要调整

参考documentation I've referred to 并请求您关注此类迁移详细信息。

它会打印日期和时间

-Xlog:gc*:verbose_gc.log:time

[2019-05-13T14:01:03.356+0530] Heap region size: 1M
[2019-05-13T14:01:03.357+0530] Using G1

注意:- JDK 11 已被使用

顺便说一句,虽然 NumberOfGCLogFilesGCLogFileSize 选项在 Java 11 中消失了,但仍然可以设置滚动文件大小和计数。例如:

java -Xlog:gc*,safepoint:gc.log:time,uptime:filecount=100,filesize=128K ...