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

ibessonov pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


The following commit(s) were added to refs/heads/main by this push:
     new e95f577501 IGNITE-23582 Fix missing memory and GC settings (#4668)
e95f577501 is described below

commit e95f5775019e01734319df1435c8ca67e0d8914d
Author: Ivan Zlenko <[email protected]>
AuthorDate: Tue Nov 5 16:29:21 2024 +0500

    IGNITE-23582 Fix missing memory and GC settings (#4668)
---
 packaging/common/linux/bootstrap-functions.sh    |  6 ++++++
 packaging/common/windows/bootstrap-functions.bat | 12 +++++++++++-
 packaging/db/linux/service/vars.env              |  4 ++--
 packaging/db/zip/linux/vars.env                  |  4 ++--
 packaging/db/zip/windows/vars.bat                |  4 ++--
 packaging/docker/Dockerfile                      |  7 +++++++
 packaging/docker/docker-compose.yml              |  3 +++
 packaging/docker/docker-entrypoint.sh            |  6 ++++++
 8 files changed, 39 insertions(+), 7 deletions(-)

diff --git a/packaging/common/linux/bootstrap-functions.sh 
b/packaging/common/linux/bootstrap-functions.sh
index d82d35fd7e..03e5ca0ae6 100644
--- a/packaging/common/linux/bootstrap-functions.sh
+++ b/packaging/common/linux/bootstrap-functions.sh
@@ -34,9 +34,15 @@ export LOGGING_JAVA_OPTS="
 
 export CLASSPATH="-classpath @INSTALL_DIR@/lib/@APP_JAR@:@INSTALL_DIR@/lib/* 
@MAIN_CLASS@"
 
+export JAVA_MEMORY_OPTIONS="-Xmx${JVM_MAX_MEM} -Xms${JVM_MIN_MEM}"
+
+export JAVA_GC_OPTIONS="-XX:+Use${JVM_GC} 
-XX:G1HeapRegionSize=${JVM_G1HeapRegionSize}"
+
 export JAVA_CMD_WITH_ARGS="${JAVACMD} \
   ${COMMON_JAVA_OPTS} \
   ${LOGGING_JAVA_OPTS} \
+  ${JAVA_MEMORY_OPTIONS} \
+  ${JAVA_GC_OPTIONS} \
   ${IGNITE3_EXTRA_JVM_ARGS} \
   ${CLASSPATH}"
 
diff --git a/packaging/common/windows/bootstrap-functions.bat 
b/packaging/common/windows/bootstrap-functions.bat
index 1be83da1ee..0651211d3d 100644
--- a/packaging/common/windows/bootstrap-functions.bat
+++ b/packaging/common/windows/bootstrap-functions.bat
@@ -26,6 +26,16 @@ set 
LOGGING_JAVA_OPTS=-Djava.util.logging.config.file="@CONF_DIR@\ignite.java.ut
 
 set CLASSPATH=-classpath "@INSTALL_DIR@\lib\*" @MAIN_CLASS@
 
-set JAVA_CMD_WITH_ARGS="%JAVA_EXE%" %COMMON_JAVA_OPTS% %LOGGING_JAVA_OPTS% 
%IGNITE3_EXTRA_JVM_ARGS% %CLASSPATH%
+set JAVA_MEMORY_OPTIONS=-Xmx%JVM_MAX_MEM% -Xms%JVM_MIN_MEM%
+
+set JAVA_GC_OPTIONS=-XX:+Use%JVM_GC% 
-XX:G1HeapRegionSize=%JVM_G1HeapRegionSize%
+
+set JAVA_CMD_WITH_ARGS="%JAVA_EXE%" ^
+%COMMON_JAVA_OPTS% ^
+%LOGGING_JAVA_OPTS% ^
+%JAVA_MEMORY_OPTIONS% ^
+%JAVA_GC_OPTIONS% ^
+%IGNITE3_EXTRA_JVM_ARGS% ^
+%CLASSPATH%
 
 set APPLICATION_ARGS=--config-path "%CONFIG_FILE%" --work-dir "%WORK_DIR%" 
--node-name %NODE_NAME%
diff --git a/packaging/db/linux/service/vars.env 
b/packaging/db/linux/service/vars.env
index 4d7129f7bd..e04fa7e708 100644
--- a/packaging/db/linux/service/vars.env
+++ b/packaging/db/linux/service/vars.env
@@ -21,8 +21,8 @@ WORK_DIR=@IGNITE_WORK_DIR@
 CONFIG_FILE=@CONF_DIR@/@IGNITE_CONF_FILE@
 
 #JVM props
-JVM_MAX_MEM="16384m"
-JVM_MIN_MEM="16384m"
+JVM_MAX_MEM="16g"
+JVM_MIN_MEM="16g"
 JVM_GC="G1GC"
 JVM_G1HeapRegionSize="32M"
 JVM_GC_LOG_NAME="gc.log.$(date -u +%Y%m%d_%H%M%S)"
diff --git a/packaging/db/zip/linux/vars.env b/packaging/db/zip/linux/vars.env
index 1adef26021..d9ca36b533 100644
--- a/packaging/db/zip/linux/vars.env
+++ b/packaging/db/zip/linux/vars.env
@@ -27,8 +27,8 @@ LOG_FILE_PATTERN=${LOG_DIR}/ignite3db-%g.log
 CONFIG_FILE=${CONF_DIR}/ignite-config.conf
 
 #JVM props
-JVM_MAX_MEM="16384m"
-JVM_MIN_MEM="16384m"
+JVM_MAX_MEM="16g"
+JVM_MIN_MEM="16g"
 JVM_GC="G1GC"
 JVM_G1HeapRegionSize="32M"
 JVM_GC_LOG_NAME="gc.log"
diff --git a/packaging/db/zip/windows/vars.bat 
b/packaging/db/zip/windows/vars.bat
index 5e4f919baf..bba20f6dea 100644
--- a/packaging/db/zip/windows/vars.bat
+++ b/packaging/db/zip/windows/vars.bat
@@ -27,8 +27,8 @@ set LOG_FILE_PATTERN=%LOG_DIR%\ignite3db-%g.log
 set CONFIG_FILE=%CONF_DIR%\ignite-config.conf
 
 @rem JVM props
-set JVM_MAX_MEM=16384m
-set JVM_MIN_MEM=16384m
+set JVM_MAX_MEM=16g
+set JVM_MIN_MEM=16g
 set JVM_GC=G1GC
 set JVM_G1HeapRegionSize=32M
 set JVM_GC_LOG_NAME=gc.log
diff --git a/packaging/docker/Dockerfile b/packaging/docker/Dockerfile
index 69243eb3f4..e1c6849ea5 100644
--- a/packaging/docker/Dockerfile
+++ b/packaging/docker/Dockerfile
@@ -15,6 +15,13 @@ ENV JAVA_HOME=/opt/java/openjdk
 ENV PATH="${JAVA_HOME}/bin:${PATH}"
 COPY --from=jre-build /javaruntime $JAVA_HOME
 
+# Set default memory and GC configuration
+ENV JVM_MAX_MEM="16g"
+ENV JVM_MIN_MEM="16g"
+
+ENV JVM_GC="G1GC"
+ENV JVM_G1HeapRegionSize="32M"
+
 # Copy and setup DB app
 ENV IGNITE_HOME=/opt/ignite
 
diff --git a/packaging/docker/docker-compose.yml 
b/packaging/docker/docker-compose.yml
index 919ecec53e..e13d6af612 100644
--- a/packaging/docker/docker-compose.yml
+++ b/packaging/docker/docker-compose.yml
@@ -20,6 +20,9 @@ name: ignite3
 x-ignite-def:
   &ignite-def
   image: apacheignite/ignite3:${IGNITE3_VERSION:-latest}
+  environment:
+    JVM_MAX_MEM: "4g"
+    JVM_MIN_MEM: "4g"
   configs:
     - source: node_config
       target: /opt/ignite/etc/ignite-config.conf
diff --git a/packaging/docker/docker-entrypoint.sh 
b/packaging/docker/docker-entrypoint.sh
index c536d3144b..00714a1f6d 100644
--- a/packaging/docker/docker-entrypoint.sh
+++ b/packaging/docker/docker-entrypoint.sh
@@ -26,9 +26,15 @@ fi
 
 
LOGGING_JAVA_OPTS="-Djava.util.logging.config.file=@CONF_DIR@/ignite.java.util.logging.properties"
 
+JAVA_MEMORY_OPTIONS="-Xmx${JVM_MAX_MEM} -Xms${JVM_MIN_MEM}"
+
+JAVA_GC_OPTIONS="-XX:+Use${JVM_GC} 
-XX:G1HeapRegionSize=${JVM_G1HeapRegionSize}"
+
 CMD="${JAVACMD} \
   ${COMMON_JAVA_OPTS} \
   ${LOGGING_JAVA_OPTS} \
+  ${JAVA_MEMORY_OPTIONS} \
+  ${JAVA_GC_OPTIONS} \
   ${IGNITE3_EXTRA_JVM_ARGS} \
   ${CLASSPATH}"
 

Reply via email to