summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDaniil Fedotov <daniil@rabbitmq.com>2017-06-14 17:44:42 +0100
committerGerhard Lazu <gerhard@rabbitmq.com>2017-06-14 17:44:42 +0100
commitbc0309d9218be7786eb80f96e1065c97042905c9 (patch)
treeb3dc4d06b819cadb5ea394a0877d556a6451a06a /src
parentb6efa2dd3c0adea4212d28e43524fab7bc2a91af (diff)
downloadrabbitmq-server-git-bc0309d9218be7786eb80f96e1065c97042905c9.tar.gz
Change vm_memory_use_process_rss config to vm_memory_calculation_strategy
[#145451399] Signed-off-by: Gerhard Lazu <gerhard@rabbitmq.com>
Diffstat (limited to 'src')
-rw-r--r--src/vm_memory_monitor.erl23
1 files changed, 20 insertions, 3 deletions
diff --git a/src/vm_memory_monitor.erl b/src/vm_memory_monitor.erl
index 0bbca55eed..6731466c17 100644
--- a/src/vm_memory_monitor.erl
+++ b/src/vm_memory_monitor.erl
@@ -495,6 +495,23 @@ read_proc_file(IoDevice, Acc) ->
eof -> Acc
end.
+-spec get_memory_calculation_strategy() -> rss | erlang.
+get_memory_calculation_strategy() ->
+ case application:get_env(rabbit, vm_memory_calculation_strategy, rss) of
+ erlang ->
+ erlang;
+ rss ->
+ rss;
+ UnsupportedValue ->
+ rabbit_log:warning(
+ "Unsupported value '~p' for vm_memory_calculation_strategy. "
+ "Supported values: (rss|erlang). "
+ "Defaulting to 'rss'",
+ [UnsupportedValue]
+ ),
+ rss
+ end.
+
%% Memory reported by erlang:memory(total) is not supposed to
%% be equal to the total size of all pages mapped to the emulator,
@@ -502,8 +519,8 @@ read_proc_file(IoDevice, Acc) ->
%% erlang:memory(total) under-reports memory usage by around 20%
-spec get_used_memory() -> Bytes :: integer().
get_used_memory() ->
- case application:get_env(rabbit, vm_memory_use_process_rss, false) of
- true ->
+ case get_memory_calculation_strategy() of
+ rss ->
case get_system_process_resident_memory() of
{ok, MemInBytes} ->
MemInBytes;
@@ -513,7 +530,7 @@ get_used_memory() ->
[Reason]),
erlang:memory(total)
end;
- false ->
+ erlang ->
erlang:memory(total)
end.