简体   繁体   English

JVM gc日志未旋转

[英]JVM gc log not rotating

I'm using solaris 10, Wildfly 10 and java 1.8.0_66. 我正在使用solaris 10,Wildfly 10和Java 1.8.0_66。

I thought to make gc log rotating, as long as I set the following parameters: 只要设置以下参数,我就想使gc日志旋转:

-XX:+UseGCLogFileRotation
-XX:NumberOfGCLogFiles
-XX:GCLogFileSize
-Xloggc

it should rotate. 它应该旋转。

I set jvm params to be 我将jvm参数设置为

JAVA_OPTS="$JAVA_OPTS -XX:-HeapDumpOnOutOfMemoryError  -verbosegc -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=50 -XX:GCLogFileSize=5K -XX:+PrintGCDateStamps -Xloggc:/mylocation/standalone/log/gc.log"

It does not rotate. 它不会旋转。 It seems that I have to add param -XX:+PrintGCDetails to make gc log file rotate. 看来我必须添加参数-XX:+PrintGCDetails才能使gc日志文件旋转。

Did my understanding wrong? 我的理解错了吗? or did I miss any settings so it doesn't rotate? 还是我错过了任何设置以便它不会旋转?

Thanks, Helen 谢谢,海伦

It seems you've already figured that out yourself. 看来您已经知道了这一点。 GCLogFileSize has the minimum value of 8KB in JDK, even if you try to set less. 即使您尝试设置较小, GCLogFileSize在JDK中的最小值为8KB。 Here is the relevant fragment from HotSpot sources : 这是HotSpot来源的相关片段:

  if (UseGCLogFileRotation && (GCLogFileSize != 0) && (GCLogFileSize < 8*K)) {
    FLAG_SET_CMDLINE(uintx, GCLogFileSize, 8*K);
    jio_fprintf(defaultStream::output_stream(),
                "GCLogFileSize changed to minimum 8K\n");
  }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM