From 8f12830d9f979578284676bf0535b54430fe5d6b Mon Sep 17 00:00:00 2001 From: Xinyi Zou Date: Tue, 7 Mar 2023 18:57:21 +0800 Subject: [PATCH] 1 --- be/src/common/daemon.cpp | 2 +- be/src/util/mem_info.cpp | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/be/src/common/daemon.cpp b/be/src/common/daemon.cpp index 4ccbcb185e50c0..c388fac9aafa05 100644 --- a/be/src/common/daemon.cpp +++ b/be/src/common/daemon.cpp @@ -211,7 +211,7 @@ void Daemon::memory_gc_thread() { int64_t cache_gc_freed_mem = 0; while (!_stop_background_threads_latch.wait_for( std::chrono::milliseconds(interval_milliseconds))) { - if (!MemInfo::initialized()) { + if (!MemInfo::initialized() || !ExecEnv::GetInstance()->initialized()) { continue; } if (memory_full_gc_sleep_time_ms <= 0 && diff --git a/be/src/util/mem_info.cpp b/be/src/util/mem_info.cpp index 18c8b36463f1b2..da52948dbcdf4c 100644 --- a/be/src/util/mem_info.cpp +++ b/be/src/util/mem_info.cpp @@ -316,8 +316,13 @@ void MemInfo::init() { _s_physical_mem = -1; } - bool is_percent = true; - _s_mem_limit = ParseUtil::parse_mem_spec(config::mem_limit, -1, _s_physical_mem, &is_percent); + if (config::mem_limit == "auto") { + _s_mem_limit = std::max(_s_physical_mem * 0.9, _s_physical_mem - 6871947672); + } else { + bool is_percent = true; + _s_mem_limit = + ParseUtil::parse_mem_spec(config::mem_limit, -1, _s_physical_mem, &is_percent); + } _s_mem_limit_str = PrettyPrinter::print(_s_mem_limit, TUnit::BYTES); _s_soft_mem_limit = _s_mem_limit * config::soft_mem_limit_frac; _s_soft_mem_limit_str = PrettyPrinter::print(_s_soft_mem_limit, TUnit::BYTES);