Kaynağa Gözat

fix #2508 update gc logging settings

Shinsuke Sugaya 4 yıl önce
ebeveyn
işleme
34db0d3683

+ 2 - 8
src/main/assemblies/files/fess.in.bat

@@ -72,14 +72,6 @@ REM SSL truststore for certificate validation over https
 REM FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Djavax.net.ssl.trustStore=/tech/elastic/config/truststore.jks
 REM FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Djavax.net.ssl.trustStorePassword=changeit
 
-if NOT "%FESS_USE_GC_LOGGING%" == "" set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -XX:+PrintGCDetails
-if NOT "%FESS_USE_GC_LOGGING%" == "" set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -XX:+PrintGCTimeStamps
-if NOT "%FESS_USE_GC_LOGGING%" == "" set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -XX:+PrintGCDateStamps
-if NOT "%FESS_USE_GC_LOGGING%" == "" set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -XX:+PrintClassHistogram
-if NOT "%FESS_USE_GC_LOGGING%" == "" set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -XX:+PrintTenuringDistribution
-if NOT "%FESS_USE_GC_LOGGING%" == "" set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -XX:+PrintGCApplicationStoppedTime
-if NOT "%FESS_USE_GC_LOGGING%" == "" set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Xloggc:%FESS_HOME%/logs/gc.log
-
 REM Causes the JVM to dump its heap on OutOfMemory.
 REM set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -XX:+HeapDumpOnOutOfMemoryError
 REM The path to the heap dump location, note directory must exists and have enough
@@ -99,6 +91,8 @@ REM Application Configuration
 set APP_NAME=fess
 set ES_HOME=%FESS_HOME%/es
 
+if NOT "%FESS_USE_GC_LOGGING%" == "" set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Xlog:gc*,gc+age=trace,safepoint:file=%FESS_HOME%/logs/gc-%APP_NAME%.log:utctime,pid,tags:filecount=5,filesize=64m
+
 set FESS_CLASSPATH=%FESS_HOME%\lib\classes
 set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Dfess
 set FESS_JAVA_OPTS=%FESS_JAVA_OPTS% -Des-foreground=yes

+ 3 - 11
src/main/assemblies/files/fess.in.sh

@@ -66,17 +66,6 @@ FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Dlog4j.shutdownHookEnabled=false"
 FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Dlog4j2.disable.jmx=true"
 FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Dlog4j.skipJansi=true"
 
-# GC logging options
-if [ "x$FESS_USE_GC_LOGGING" != "x" ]; then
-  FESS_JAVA_OPTS="$FESS_JAVA_OPTS -XX:+PrintGCDetails"
-  FESS_JAVA_OPTS="$FESS_JAVA_OPTS -XX:+PrintGCTimeStamps"
-  FESS_JAVA_OPTS="$FESS_JAVA_OPTS -XX:+PrintGCDateStamps"
-  FESS_JAVA_OPTS="$FESS_JAVA_OPTS -XX:+PrintClassHistogram"
-  FESS_JAVA_OPTS="$FESS_JAVA_OPTS -XX:+PrintTenuringDistribution"
-  FESS_JAVA_OPTS="$FESS_JAVA_OPTS -XX:+PrintGCApplicationStoppedTime"
-  FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Xloggc:/var/log/elasticsearch/gc.log"
-fi
-
 # Causes the JVM to dump its heap on OutOfMemory.
 #FESS_JAVA_OPTS="$FESS_JAVA_OPTS -XX:+HeapDumpOnOutOfMemoryError"
 # The path to the heap dump location, note directory must exists and have enough
@@ -114,6 +103,9 @@ fi
 if [ "x$FESS_CONTEXT_PATH" = "x" ]; then
   FESS_CONTEXT_PATH=/
 fi
+if [ "x$FESS_USE_GC_LOGGING" != "x" ]; then
+  FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Xlog:gc*,gc+age=trace,safepoint:file=$FESS_LOG_PATH/gc-$APP_NAME.log:utctime,pid,tags:filecount=5,filesize=64m"
+fi
 FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Dfess.home=$FESS_HOME"
 FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Dfess.context.path=$FESS_CONTEXT_PATH"
 FESS_JAVA_OPTS="$FESS_JAVA_OPTS -Dfess.port=$FESS_PORT"

+ 2 - 2
src/main/java/org/codelibs/fess/job/ExecJob.java

@@ -109,7 +109,7 @@ public abstract class ExecJob {
         }
         buf.append(File.separator);
         buf.append("gc-").append(getExecuteType()).append(".log");
-        buf.append(":utctime,pid,tags:filecount=32,filesize=64m");
+        buf.append(":utctime,pid,tags:filecount=5,filesize=64m");
         return jvmOptions(buf.toString());
     }
 
@@ -187,4 +187,4 @@ public abstract class ExecJob {
             throw new IORuntimeException(e);
         }
     }
-}
+}