summaryrefslogtreecommitdiff
path: root/src/rabbit.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/rabbit.erl')
-rw-r--r--src/rabbit.erl16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/rabbit.erl b/src/rabbit.erl
index 18fd1b17..be74283f 100644
--- a/src/rabbit.erl
+++ b/src/rabbit.erl
@@ -140,8 +140,15 @@ start(normal, []) ->
ok = rabbit_binary_generator:
check_empty_content_body_frame_size(),
- {ok, MemoryAlarms} = application:get_env(memory_alarms),
- ok = rabbit_alarm:start(MemoryAlarms),
+ ok = rabbit_alarm:start(),
+ MemoryWatermark =
+ application:get_env(os_mon, system_memory_high_watermark),
+ case MemoryWatermark of
+ {ok, false} -> ok;
+ {ok, off} -> ok;
+ {ok, Float} -> start_child(vm_memory_monitor, [Float]);
+ undefined -> throw({undefined, os_mon, system_memory_high_watermark, settings})
+ end,
ok = rabbit_amqqueue:start(),
@@ -264,8 +271,11 @@ print_banner() ->
io:nl().
start_child(Mod) ->
+ start_child(Mod, []).
+
+start_child(Mod, Args) ->
{ok,_} = supervisor:start_child(rabbit_sup,
- {Mod, {Mod, start_link, []},
+ {Mod, {Mod, start_link, Args},
transient, 100, worker, [Mod]}),
ok.