From d8cb900c46c962ce88428841c6e9ec4f467cbf2d Mon Sep 17 00:00:00 2001 From: Matthias Radestock Date: Mon, 6 Aug 2012 12:12:09 +0100 Subject: track vm_memory_high_watermark explicitly so we can report it back accurately. --- src/vm_memory_monitor.erl | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/vm_memory_monitor.erl b/src/vm_memory_monitor.erl index 85dbf368..5ce894a9 100644 --- a/src/vm_memory_monitor.erl +++ b/src/vm_memory_monitor.erl @@ -49,6 +49,7 @@ -record(state, {total_memory, memory_limit, + memory_fraction, timeout, timer, alarmed, @@ -117,7 +118,7 @@ init([MemFraction, AlarmFuns]) -> {ok, set_mem_limits(State, MemFraction)}. handle_call(get_vm_memory_high_watermark, _From, State) -> - {reply, State#state.memory_limit / State#state.total_memory, State}; + {reply, State#state.memory_fraction, State}; handle_call({set_vm_memory_high_watermark, MemFraction}, _From, State) -> {reply, ok, set_mem_limits(State, MemFraction)}; @@ -185,8 +186,9 @@ set_mem_limits(State, MemFraction) -> MemLim = trunc(MemFraction * UsableMemory), error_logger:info_msg("Memory limit set to ~pMB of ~pMB total.~n", [trunc(MemLim/?ONE_MB), trunc(TotalMemory/?ONE_MB)]), - internal_update(State #state { total_memory = TotalMemory, - memory_limit = MemLim }). + internal_update(State #state { total_memory = TotalMemory, + memory_limit = MemLim, + memory_fraction = MemFraction}). internal_update(State = #state { memory_limit = MemLimit, alarmed = Alarmed, -- cgit v1.2.1