summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiana Corbacho <diana@rabbitmq.com>2017-10-31 11:41:06 +0000
committerDiana Corbacho <diana@rabbitmq.com>2017-10-31 11:41:24 +0000
commit9b6593a0711f0a83c03637c56861d46cbbaebf2a (patch)
tree37109d18d5faa2ed055dc51ebef474d573e1dd60
parentc0dcb2b3ee4386258a8e3e278ebdd7a95b2fde2f (diff)
downloadrabbitmq-server-git-9b6593a0711f0a83c03637c56861d46cbbaebf2a.tar.gz
Report strategy, erlang total, rss and allocated memory
[#152311595]
-rw-r--r--src/rabbit_vm.erl19
1 files changed, 7 insertions, 12 deletions
diff --git a/src/rabbit_vm.erl b/src/rabbit_vm.erl
index b2474a6b38..7d7c3b0ab3 100644
--- a/src/rabbit_vm.erl
+++ b/src/rabbit_vm.erl
@@ -61,19 +61,11 @@ memory() ->
erlang:memory([total, processes, ets, atom, binary, code, system]),
Strategy = vm_memory_monitor:get_memory_calculation_strategy(),
- {Allocated, VMTotal} = case Strategy of
- erlang -> {ErlangTotal, ErlangTotal};
- allocated ->
- Alloc = recon_alloc:memory(allocated),
- {Alloc, Alloc};
- rss ->
- Alloc = recon_alloc:memory(allocated),
- Vm = vm_memory_monitor:get_process_memory(current),
- {Alloc, Vm}
- end,
+ Allocated = recon_alloc:memory(allocated),
+ Rss = vm_memory_monitor:get_rss_memory(),
AllocatedUnused = max(Allocated - ErlangTotal, 0),
- OSReserved = max(VMTotal - Allocated, 0),
+ OSReserved = max(Rss - Allocated, 0),
OtherProc = Processes
- ConnsReader - ConnsWriter - ConnsChannel - ConnsOther
@@ -112,7 +104,10 @@ memory() ->
{other_system, System - ETS - Bin - Code - Atom},
{allocated_unused, AllocatedUnused},
{reserved_unallocated, OSReserved},
- {total, VMTotal}
+ {strategy, Strategy},
+ {total, [{erlang_total, ErlangTotal},
+ {rss, Rss},
+ {allocated, Allocated}]}
].
%% [1] - erlang:memory(processes) can be less than the sum of its
%% parts. Rather than display something nonsensical, just silence any