You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by yi...@apache.org on 2024/01/06 12:12:02 UTC

(doris) branch master updated: [feature](script) Add check_jvm_xmx for `start_fe.sh` (#28989)

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

yiguolei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 8c9908c7b4f [feature](script) Add check_jvm_xmx for `start_fe.sh` (#28989)
8c9908c7b4f is described below

commit 8c9908c7b4f575b41e01ae2a81b4423da6a12c3c
Author: Lei Zhang <27...@users.noreply.github.com>
AuthorDate: Sat Jan 6 20:11:54 2024 +0800

    [feature](script) Add check_jvm_xmx for `start_fe.sh` (#28989)
    
    * When -Xmx is configured more than 90% of total physical memory, start_fe.sh
      will not allowed to start, because fe maybe been killed by operating system
      with a high probability.
---
 bin/start_fe.sh | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/bin/start_fe.sh b/bin/start_fe.sh
index f52e47c93ed..84207977295 100755
--- a/bin/start_fe.sh
+++ b/bin/start_fe.sh
@@ -197,6 +197,29 @@ fi
 echo "using java version ${java_version}" >>"${LOG_DIR}/fe.out"
 echo "${final_java_opt}" >>"${LOG_DIR}/fe.out"
 
+function check_jvm_xmx() {
+    local os_type
+    local total_mem_byte
+    local total_mem_mb
+    local ninety_percent_mem_mb
+    local jvm_xmx_mb
+    os_type=$(uname -s)
+    if [[ "${os_type}" == "Linux" ]]; then
+        total_mem_byte="$(free -b | grep Mem | awk '{print $2}')"
+        jvm_xmx_byte="$(${JAVA} "${final_java_opt}" -XX:+PrintFlagsFinal -version 2>&1 | awk '/MaxHeapSize/ {print $4}')"
+        total_mem_mb=$(("${total_mem_byte}" / 1024 / 1024))
+        ninety_percent_mem_mb=$(("${total_mem_byte}" * 9 / 10 / 1024 / 1024))
+        jvm_xmx_mb=$(("${jvm_xmx_byte}" / 1024 / 1024))
+
+        if [[ ${jvm_xmx_mb} -gt ${ninety_percent_mem_mb} ]]; then
+            echo "java opt -Xmx is more than 90% of total physical memory"
+            echo "total_mem_mb:${total_mem_mb}MB ninety_percent_mem_mb:${ninety_percent_mem_mb}MB jvm_xmx_mb:${jvm_xmx_mb}MB"
+            exit 1
+        fi
+    fi
+}
+check_jvm_xmx
+
 # add libs to CLASSPATH
 DORIS_FE_JAR=
 for f in "${DORIS_HOME}/lib"/*.jar; do


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org