有助于调整堆大小或诊断任何其他内存问题的垃圾收集(GC)信息的日志记录选项是由什么来完成的?
答案 0 :(得分:4)
答案 1 :(得分:2)
简而言之
-XX:PrintGCDetails
- 每个GC阶段的时间和空间大小-XX:+PrintGCDateStamps
- 向gC日志添加时间戳-XX:+PrintReferenceGC
- 帮助查找参考滥用行为-XX:+PrintPromotionFailure
-XX:+PrintGCApplicationStoppedTime
- 报告所有安全点,而不仅仅是GC 答案 2 :(得分:1)
垃圾收集日志记录取决于您使用的JVM类型。根据所使用的JVM,有不同的参数可以启用GC日志记录。以下是为了启用GC日志记录而需要包含的参数:
SUN JVM : -XX:+ PrintGCDetails -XX:+ PrintGCDateStamps(它将打印时间和日期) -verbose:GC -Xloggc:/path/gc.log
注意 - -XX:+ PrintGCTimeStamps(它将以秒为单位打印JVM重启后的时间,而不是hh:mm:ss格式的时间戳。这有点难以解释,因此建议使用PrintGCDateStamps)
<强> JRockit的强> -Xverbose -XverboseTimeStamp -Xverboselog:/path/gc.log
<强> IBMJ9 强> -verbose:GC
答案 3 :(得分:1)
您可能需要查看Java Flight Recorder,它可以以极低的开销为您提供完整的GC统计信息。您可以在应用程序运行时启动JFR录制。生成的输出文件将包含有关GC统计信息的详细信息。您必须使用Java Mission Control打开输出jfr文件。
答案 4 :(得分:0)
我曾经使用这些选项来分析Sun / OpenJDK JVM的GC性能:
#printétailsGC信息 -XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-XX:+PrintHeapAtGC
-XX:+PrintReferenceGC
-XX:+PrintAdaptiveSizePolicy
-XX:+PrintGCCause
-XX:+PrintPromotionFailure
-XX:+PrintTenuringDistribution