diff --git a/be/src/common/config.h b/be/src/common/config.h index cd471b0e195c2e..945454079bf77b 100644 --- a/be/src/common/config.h +++ b/be/src/common/config.h @@ -156,9 +156,9 @@ DECLARE_mInt32(max_fill_rate); DECLARE_mInt32(double_resize_threshold); // The maximum low water mark of the system `/proc/meminfo/MemAvailable`, Unit byte, default 6.4G, -// actual low water mark=min(6.4G, MemTotal * 10%), avoid wasting too much memory on machines -// with large memory larger than 64G. -// Turn up max. On machines with more than 64G memory, more memory buffers will be reserved for Full GC. +// actual low water mark=min(6.4G, MemTotal * 5%), avoid wasting too much memory on machines +// with large memory larger than 128G. +// Turn up max. On machines with more than 128G memory, more memory buffers will be reserved for Full GC. // Turn down max. will use as much memory as possible. DECLARE_Int64(max_sys_mem_available_low_water_mark_bytes); diff --git a/be/src/util/mem_info.cpp b/be/src/util/mem_info.cpp index 57e48e947ffb46..b6f35df5d9c2f4 100644 --- a/be/src/util/mem_info.cpp +++ b/be/src/util/mem_info.cpp @@ -304,7 +304,7 @@ void MemInfo::init() { // upper sys_mem_available_low_water_mark, avoid wasting too much memory. _s_sys_mem_available_low_water_mark = std::max( std::min(std::min(_s_physical_mem - _s_mem_limit, - int64_t(_s_physical_mem * 0.1)), + int64_t(_s_physical_mem * 0.05)), config::max_sys_mem_available_low_water_mark_bytes), 0); _s_sys_mem_available_warning_water_mark = _s_sys_mem_available_low_water_mark * 2;