You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by hx...@apache.org on 2020/01/11 17:25:47 UTC

[incubator-iotdb] branch revert-699-fix_gc_collect_in_startup_script created (now a62dccb)

This is an automated email from the ASF dual-hosted git repository.

hxd pushed a change to branch revert-699-fix_gc_collect_in_startup_script
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git.


      at a62dccb  Revert "fix gc log collection in start-server.sh scripts"

This branch includes the following new commits:

     new 1c27efd  Revert "set all gc log as info level (though some startup memory allocation log is debug and trace still)"
     new a62dccb  Revert "fix gc log collection in start-server.sh scripts"

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[incubator-iotdb] 01/02: Revert "set all gc log as info level (though some startup memory allocation log is debug and trace still)"

Posted by hx...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

hxd pushed a commit to branch revert-699-fix_gc_collect_in_startup_script
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git

commit 1c27efde1579c531d951fd2592e338c8a4f6e8a7
Author: Xiangdong Huang <hx...@qq.com>
AuthorDate: Sun Jan 12 01:25:39 2020 +0800

    Revert "set all gc log as info level (though some startup memory allocation log is debug and trace still)"
    
    This reverts commit 0a796a240fa398ff366d34b0815c491108f1a515.
---
 server/src/assembly/resources/conf/iotdb-env.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/server/src/assembly/resources/conf/iotdb-env.sh b/server/src/assembly/resources/conf/iotdb-env.sh
index 583e93b..0e06de1 100755
--- a/server/src/assembly/resources/conf/iotdb-env.sh
+++ b/server/src/assembly/resources/conf/iotdb-env.sh
@@ -150,7 +150,7 @@ else
         # only add -Xlog:gc if it's not mentioned in jvm-server.options file
         mkdir -p ${IOTDB_HOME}/logs
         if [ "$#" -ge "1" -a "$1" == "printgc" ]; then
-            IOTDB_JMX_OPTS="$IOTDB_JMX_OPTS -Xlog:gc=info,heap*=info,age*=info,safepoint=info,promotion*=info:file=${IOTDB_HOME}/logs/gc.log:time,uptime,pid,tid,level:filecount=10,filesize=10485760"
+            IOTDB_JMX_OPTS="$IOTDB_JMX_OPTS -Xlog:gc=info,heap*=trace,age*=debug,safepoint=info,promotion*=trace:file=${IOTDB_HOME}/logs/gc.log:time,uptime,pid,tid,level:filecount=10,filesize=10485760"
         fi
     fi
 fi


[incubator-iotdb] 02/02: Revert "fix gc log collection in start-server.sh scripts"

Posted by hx...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

hxd pushed a commit to branch revert-699-fix_gc_collect_in_startup_script
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git

commit a62dccba16f7f7ec3a7344be8f6d3b6d70e9ac1d
Author: Xiangdong Huang <hx...@qq.com>
AuthorDate: Sun Jan 12 01:25:39 2020 +0800

    Revert "fix gc log collection in start-server.sh scripts"
    
    This reverts commit b7a30552d62abd3e9a80ac983f9269b0a3364c5f.
---
 .../UserGuide/3-Server/4-Config Manual.md          | 19 +------------
 .../UserGuide/3-Server/4-Config Manual.md          | 20 +-------------
 server/src/assembly/resources/conf/iotdb-env.bat   | 29 +++++++++-----------
 server/src/assembly/resources/conf/iotdb-env.sh    | 31 +++++-----------------
 .../src/assembly/resources/sbin/start-server.bat   |  2 +-
 server/src/assembly/resources/sbin/start-server.sh |  6 +----
 6 files changed, 23 insertions(+), 84 deletions(-)

diff --git a/docs/Documentation-CHN/UserGuide/3-Server/4-Config Manual.md b/docs/Documentation-CHN/UserGuide/3-Server/4-Config Manual.md
index e99c288..2310c17 100644
--- a/docs/Documentation-CHN/UserGuide/3-Server/4-Config Manual.md	
+++ b/docs/Documentation-CHN/UserGuide/3-Server/4-Config Manual.md	
@@ -404,21 +404,4 @@
 |描述| Kerberos 认证原则|
 |类型| String |
 |默认值|your principal |
-|改后生效方式|重启服务器生效|
-
-
-## 开启GC日志
-GC日志默认是关闭的。为了性能调优,用户可能会需要手机GC信息。
-若要打开GC日志,则需要在启动IoTDB Server的时候加上"printgc"参数:
-
-```bash
-sbin/start-server.sh printgc
-```
-或者
-
-```bash
-sbin\start-server.bat printgc
-```
-
-GC日志会被存储在`IOTDB_HOME/logs/gc.log`. 至多会存储10个gc.log文件,每个文件最多10MB。
-
+|改后生效方式|重启服务器生效|
\ No newline at end of file
diff --git a/docs/Documentation/UserGuide/3-Server/4-Config Manual.md b/docs/Documentation/UserGuide/3-Server/4-Config Manual.md
index a16cdcd..c95490b 100644
--- a/docs/Documentation/UserGuide/3-Server/4-Config Manual.md	
+++ b/docs/Documentation/UserGuide/3-Server/4-Config Manual.md	
@@ -442,22 +442,4 @@ The detail of each variables are as follows:
 |Description| Kerberos pricipal|
 |Type| String |
 |Default|your principal |
-|Effective|After restart system|
-
-## Enable GC log
-GC log is off by default.
-For performance tuning, you may want to collect the GC info. 
-
-To enable GC log, just add a paramenter "printgc" when you start the server.
-
-```bash
-sbin/start-server.sh printgc
-```
-Or
-```bash
-sbin\start-server.bat printgc
-```
-
-GC log is stored at `IOTDB_HOME/logs/gc.log`.
-There will be at most 10 gc.log.* files and each one can reach to 10MB.
-
+|Effective|After restart system|
\ No newline at end of file
diff --git a/server/src/assembly/resources/conf/iotdb-env.bat b/server/src/assembly/resources/conf/iotdb-env.bat
index fcf9fba..e04a409 100644
--- a/server/src/assembly/resources/conf/iotdb-env.bat
+++ b/server/src/assembly/resources/conf/iotdb-env.bat
@@ -54,27 +54,24 @@ for /f "tokens=1-3" %%j in ('java -version 2^>^&1') do (
 	set BIT_VERSION=%%l
 )
 IF "%BIT_VERSION%" == "64-Bit" (
-	rem 64-bit Java
-	echo Detect 64-bit Java, maximum memory allocation pool = 2GB, initial memory allocation pool = 2GB
-	set IOTDB_HEAP_OPTS=-Xmx2G -Xms2G
+  rem 64bit, Maximum heap size
+  set MAX_HEAP_SIZE="2G"
+  rem 64bit, Minimum heap size
+  set HEAP_NEWSIZE="2G"
 ) ELSE (
-	rem 32-bit Java
-	echo Detect 32-bit Java, maximum memory allocation pool = 512MB, initial memory allocation pool = 512MB
-	set IOTDB_HEAP_OPTS=-Xmx512M -Xms512M
+  rem 32bit, Maximum heap size
+  set MAX_HEAP_SIZE="512M"
+  rem 32bit, Minimum heap size
+  set HEAP_NEWSIZE="512M"
 )
 
+@REM MAX_HEAP_SIZE="2G"
+@REM HEAP_NEWSIZE="2G"
+
+set IOTDB_HEAP_OPTS=-Xmx%MAX_HEAP_SIZE% -Xms%HEAP_NEWSIZE%
+
 @REM You can put your env variable here
 @REM set JAVA_HOME=%JAVA_HOME%
 
 :end_config_setting
-@REM set gc log.
-IF "%1" equ "printgc" (
-	IF %JAVA_VERSION% == 8 (
-	    md %IOTDB_HOME%\logs
-		set IOTDB_HEAP_OPTS=%IOTDB_HEAP_OPTS% -Xloggc:"%IOTDB_HOME%\logs\gc.log" -XX:+PrintGCDateStamps -XX:+PrintGCDetails  -XX:+PrintGCApplicationStoppedTime -XX:+PrintPromotionFailure -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=10M
-	) ELSE (
-		md %IOTDB_HOME%\logs
-		set IOTDB_HEAP_OPTS=%IOTDB_HEAP_OPTS%  -Xlog:gc=info,heap*=trace,age*=debug,safepoint=info,promotion*=trace:file="%IOTDB_HOME%\logs\gc.log":time,uptime,pid,tid,level:filecount=10,filesize=10485760
-	)
-)
 echo If you want to change this configuration, please check conf/iotdb-env.sh(Unix or OS X, if you use Windows, check conf/iotdb-env.bat).
\ No newline at end of file
diff --git a/server/src/assembly/resources/conf/iotdb-env.sh b/server/src/assembly/resources/conf/iotdb-env.sh
index 0e06de1..3d8e39b 100755
--- a/server/src/assembly/resources/conf/iotdb-env.sh
+++ b/server/src/assembly/resources/conf/iotdb-env.sh
@@ -128,31 +128,12 @@ fi
 
 version_arr=(${JVM_VERSION//./ })
 
-#GC log path has to be defined here because it needs to access CASSANDRA_HOME
 if [ "${version_arr[0]}" = "1" ] ; then
-    # Java 8
-    MAJOR_VERSION=${version_arr[1]}
-    echo "$IOTDB_JMX_OPTS" | grep -q "^-[X]loggc"
-    if [ "$?" = "1" ] ; then # [X] to prevent ccm from replacing this line
-        # only add -Xlog:gc if it's not mentioned in jvm-server.options file
-        mkdir -p ${IOTDB_HOME}/logs
-        if [ "$#" -ge "1" -a "$1" == "printgc" ]; then
-            IOTDB_JMX_OPTS="$IOTDB_JMX_OPTS -Xloggc:${IOTDB_HOME}/logs/gc.log  -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintGCApplicationStoppedTime -XX:+PrintPromotionFailure -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=10M"
-        fi
-    fi
+  MAJOR_VERSION=${version_arr[1]}
+  IOTDB_JMX_OPTS="$IOTDB_JMX_OPTS -Xloggc:${IOTDB_HOME}/gc.log -XX:+PrintGCDateStamps -XX:+PrintGCDetails"
 else
-    #JDK 11 and others
-    MAJOR_VERSION=${version_arr[0]}
-    # See description of https://bugs.openjdk.java.net/browse/JDK-8046148 for details about the syntax
-    # The following is the equivalent to -XX:+PrintGCDetails -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=10M
-    echo "$IOTDB_JMX_OPTS" | grep -q "^-[X]log:gc"
-    if [ "$?" = "1" ] ; then # [X] to prevent ccm from replacing this line
-        # only add -Xlog:gc if it's not mentioned in jvm-server.options file
-        mkdir -p ${IOTDB_HOME}/logs
-        if [ "$#" -ge "1" -a "$1" == "printgc" ]; then
-            IOTDB_JMX_OPTS="$IOTDB_JMX_OPTS -Xlog:gc=info,heap*=trace,age*=debug,safepoint=info,promotion*=trace:file=${IOTDB_HOME}/logs/gc.log:time,uptime,pid,tid,level:filecount=10,filesize=10485760"
-        fi
-    fi
+  MAJOR_VERSION=${version_arr[0]}
+  IOTDB_JMX_OPTS="$IOTDB_JMX_OPTS -Xloggc:${IOTDB_HOME}/gc.log"
 fi
 
 
@@ -169,10 +150,10 @@ JMX_LOCAL=no
 JMX_PORT="31999"
 
 if [ "JMX_LOCAL" = "yes" ]; then
-	IOTDB_JMX_OPTS="$IOTDB_JMX_OPTS -Diotdb.jmx.local.port=$JMX_PORT"
+	IOTDB_JMX_OPTS="-Diotdb.jmx.local.port=$JMX_PORT"
 	IOTDB_JMX_OPTS="$IOTDB_JMX_OPTS -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
 else
-	IOTDB_JMX_OPTS="$IOTDB_JMX_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false  -Dcom.sun.management.jmxremote.ssl=false"
+	IOTDB_JMX_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false  -Dcom.sun.management.jmxremote.ssl=false"
 	IOTDB_JMX_OPTS="$IOTDB_JMX_OPTS -Dcom.sun.management.jmxremote.port=$JMX_PORT "
 fi
 
diff --git a/server/src/assembly/resources/sbin/start-server.bat b/server/src/assembly/resources/sbin/start-server.bat
index 823df0e..57ba10d 100755
--- a/server/src/assembly/resources/sbin/start-server.bat
+++ b/server/src/assembly/resources/sbin/start-server.bat
@@ -59,7 +59,7 @@ set IOTDB_CONF=%IOTDB_HOME%\conf
 set IOTDB_LOGS=%IOTDB_HOME%\logs
 
 IF EXIST "%IOTDB_CONF%\iotdb-env.bat" (
-    CALL "%IOTDB_CONF%\iotdb-env.bat" %1
+    CALL "%IOTDB_CONF%\iotdb-env.bat"
     ) ELSE (
     echo "can't find %IOTDB_CONF%\iotdb-env.bat"
     )
diff --git a/server/src/assembly/resources/sbin/start-server.sh b/server/src/assembly/resources/sbin/start-server.sh
index 009e65a..ed5e826 100755
--- a/server/src/assembly/resources/sbin/start-server.sh
+++ b/server/src/assembly/resources/sbin/start-server.sh
@@ -31,11 +31,7 @@ IOTDB_CONF=${IOTDB_HOME}/conf
 # IOTDB_LOGS=${IOTDB_HOME}/logs
 
 if [ -f "$IOTDB_CONF/iotdb-env.sh" ]; then
-    if [ "$#" -ge "1" -a "$1" == "printgc" ]; then
-      . "$IOTDB_CONF/iotdb-env.sh" "printgc"
-    else
-        . "$IOTDB_CONF/iotdb-env.sh"
-    fi
+    . "$IOTDB_CONF/iotdb-env.sh"
 else
     echo "can't find $IOTDB_CONF/iotdb-env.sh"
 fi