Java 11 中的垃圾回收 JVM 参数是否有替代品?

2022-09-01 01:24:18

在 Java 11 中,不再支持许多与 GC 日志记录相关的 JVM 参数。如果有的话,如果我们仍然想使用GC日志记录,可以将它们替换为什么?特别是,这与以下 JVM 参数有关:

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

谢谢。


答案 1

您的列表如下:<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

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

参考我提到的文档,并要求您遵循此类迁移详细信息。


答案 2

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

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