Skip to content

Commit bc0309d

Browse files
Daniil FedotovGerhard Lazu
authored andcommitted
Change vm_memory_use_process_rss config to vm_memory_calculation_strategy
[#145451399] Signed-off-by: Gerhard Lazu <[email protected]>
1 parent b6efa2d commit bc0309d

File tree

2 files changed

+21
-4
lines changed

2 files changed

+21
-4
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ define PROJECT_ENV
1616
{ssl_options, []},
1717
{vm_memory_high_watermark, 0.4},
1818
{vm_memory_high_watermark_paging_ratio, 0.5},
19-
{vm_memory_use_process_rss, true},
19+
{vm_memory_calculation_strategy, rss},
2020
{memory_monitor_interval, 2500},
2121
{disk_free_limit, 50000000}, %% 50MB
2222
{msg_store_index_module, rabbit_msg_store_ets_index},

src/vm_memory_monitor.erl

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -495,15 +495,32 @@ read_proc_file(IoDevice, Acc) ->
495495
eof -> Acc
496496
end.
497497

498+
-spec get_memory_calculation_strategy() -> rss | erlang.
499+
get_memory_calculation_strategy() ->
500+
case application:get_env(rabbit, vm_memory_calculation_strategy, rss) of
501+
erlang ->
502+
erlang;
503+
rss ->
504+
rss;
505+
UnsupportedValue ->
506+
rabbit_log:warning(
507+
"Unsupported value '~p' for vm_memory_calculation_strategy. "
508+
"Supported values: (rss|erlang). "
509+
"Defaulting to 'rss'",
510+
[UnsupportedValue]
511+
),
512+
rss
513+
end.
514+
498515

499516
%% Memory reported by erlang:memory(total) is not supposed to
500517
%% be equal to the total size of all pages mapped to the emulator,
501518
%% according to http://erlang.org/doc/man/erlang.html#memory-0
502519
%% erlang:memory(total) under-reports memory usage by around 20%
503520
-spec get_used_memory() -> Bytes :: integer().
504521
get_used_memory() ->
505-
case application:get_env(rabbit, vm_memory_use_process_rss, false) of
506-
true ->
522+
case get_memory_calculation_strategy() of
523+
rss ->
507524
case get_system_process_resident_memory() of
508525
{ok, MemInBytes} ->
509526
MemInBytes;
@@ -513,7 +530,7 @@ get_used_memory() ->
513530
[Reason]),
514531
erlang:memory(total)
515532
end;
516-
false ->
533+
erlang ->
517534
erlang:memory(total)
518535
end.
519536

0 commit comments

Comments
 (0)