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}"