diff options
| author | Daniil Fedotov <daniil@rabbitmq.com> | 2017-06-14 17:44:42 +0100 |
|---|---|---|
| committer | Gerhard Lazu <gerhard@rabbitmq.com> | 2017-06-14 17:44:42 +0100 |
| commit | bc0309d9218be7786eb80f96e1065c97042905c9 (patch) | |
| tree | b3dc4d06b819cadb5ea394a0877d556a6451a06a | |
| parent | b6efa2dd3c0adea4212d28e43524fab7bc2a91af (diff) | |
| download | rabbitmq-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>
| -rw-r--r-- | Makefile | 2 | ||||
| -rw-r--r-- | src/vm_memory_monitor.erl | 23 |
2 files changed, 21 insertions, 4 deletions
@@ -16,7 +16,7 @@ define PROJECT_ENV {ssl_options, []}, {vm_memory_high_watermark, 0.4}, {vm_memory_high_watermark_paging_ratio, 0.5}, - {vm_memory_use_process_rss, true}, + {vm_memory_calculation_strategy, rss}, {memory_monitor_interval, 2500}, {disk_free_limit, 50000000}, %% 50MB {msg_store_index_module, rabbit_msg_store_ets_index}, 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. |
