diff options
| author | Matthias Radestock <matthias@rabbitmq.com> | 2012-08-06 11:56:43 +0100 |
|---|---|---|
| committer | Matthias Radestock <matthias@rabbitmq.com> | 2012-08-06 11:56:43 +0100 |
| commit | d7ffbf0ca698109d61acccb1179ea2594839f62e (patch) | |
| tree | 7dab8cd733f7059dfc437718192860a79b02af3a | |
| parent | cd051af45b8e6c4058914b4d07b9cf84cbab5a01 (diff) | |
| download | rabbitmq-server-git-d7ffbf0ca698109d61acccb1179ea2594839f62e.tar.gz | |
warn on memory clipping
| -rw-r--r-- | src/vm_memory_monitor.erl | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/vm_memory_monitor.erl b/src/vm_memory_monitor.erl index 7cba36f8c4..85dbf36857 100644 --- a/src/vm_memory_monitor.erl +++ b/src/vm_memory_monitor.erl @@ -172,7 +172,17 @@ set_mem_limits(State, MemFraction) -> ?MEMORY_SIZE_FOR_UNKNOWN_OS; M -> M end, - MemLim = trunc(MemFraction * lists:min([TotalMemory, get_vm_limit()])), + UsableMemory = case get_vm_limit() of + Limit when Limit < TotalMemory -> + error_logger:warning_msg( + "Only ~pMB of ~pMB memory usable due to " + "limited address space.~n", + [trunc(V/?ONE_MB) || V <- [Limit, TotalMemory]]), + Limit; + _ -> + TotalMemory + end, + 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, |
