diff options
Diffstat (limited to 'src/rabbit.erl')
-rw-r--r-- | src/rabbit.erl | 16 |
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. |