From f4886206eff053e609d216c8dc65ab59ca18dd73 Mon Sep 17 00:00:00 2001 From: "Zaiming (Stone) Shi" Date: Tue, 31 May 2022 12:50:05 +0200 Subject: [PATCH] fix: ignore other os when updating sysmem alarm --- apps/emqx/src/emqx_os_mon.erl | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/apps/emqx/src/emqx_os_mon.erl b/apps/emqx/src/emqx_os_mon.erl index 1295c02e2..63c8e0298 100644 --- a/apps/emqx/src/emqx_os_mon.erl +++ b/apps/emqx/src/emqx_os_mon.erl @@ -168,17 +168,12 @@ start_cpu_check_timer() -> _ -> start_timer(Interval, cpu_check) end. +is_sysmem_check_supported() -> + {unix, linux} =:= os:type(). + start_mem_check_timer() -> Interval = emqx:get_config([sysmon, os, mem_check_interval]), - IsSupported = - case os:type() of - {unix, linux} -> - true; - _ -> - %% sorry Mac and windows, for now - false - end, - case is_integer(Interval) andalso IsSupported of + case is_integer(Interval) andalso is_sysmem_check_supported() of true -> start_timer(Interval, mem_check); false -> @@ -196,7 +191,11 @@ update_mem_alarm_status(HWM) when HWM > 1.0 orelse HWM < 0.0 -> #{}, <<"Deactivated mem usage alarm due to out of range threshold">> ); -update_mem_alarm_status(HWM0) -> +update_mem_alarm_status(HWM) -> + is_sysmem_check_supported() andalso + do_update_mem_alarm_status(HWM). + +do_update_mem_alarm_status(HWM0) -> HWM = HWM0 * 100, Usage = current_sysmem_percent(), case Usage > HWM of