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