diff options
author | Michael Klishin <michael@rabbitmq.com> | 2014-06-19 10:23:36 +0400 |
---|---|---|
committer | Michael Klishin <michael@rabbitmq.com> | 2014-06-19 10:23:36 +0400 |
commit | ab8bb37299daaaae14e89140b82ff9c8d561e887 (patch) | |
tree | 90d6433215cb047e07c39aae0d8b8d66741b4928 | |
parent | 7b237b626aa7161080103c763863d3fda18b3c5c (diff) | |
download | rabbitmq-server-ab8bb37299daaaae14e89140b82ff9c8d561e887.tar.gz |
Log a warning if running with < 8 async threads
-rw-r--r-- | src/rabbit.erl | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/rabbit.erl b/src/rabbit.erl index 760fb90c..836b48bc 100644 --- a/src/rabbit.erl +++ b/src/rabbit.erl @@ -493,6 +493,7 @@ start(normal, []) -> log_banner(), warn_if_kernel_poll_is_disabled(), warn_if_only_one_scheduler(), + warn_if_few_async_threads(), run_boot_steps(), {ok, SupPid}; Error -> @@ -827,19 +828,28 @@ warn_if_kernel_poll_is_disabled() -> true -> ok; false -> - error_logger:warning_msg("Kernel poll (epoll, kqueue, etc) is disabled. Throughput and CPU utilization may worsen.~n", []), + error_logger:warning_msg("Kernel poll (epoll, kqueue, etc) is disabled. Throughput and CPU utilization may worsen.~n"), ok end. warn_if_only_one_scheduler() -> case erlang:system_info(schedulers) of 1 -> - error_logger:warning_msg("Erlang VM is running with only one scheduler. It will not be able to use multiple CPU cores.~n", []), + error_logger:warning_msg("Erlang VM is running with only one scheduler. It will not be able to use multiple CPU cores.~n"), ok; _ -> ok end. +warn_if_few_async_threads() -> + AsyncThreads = erlang:system_info(thread_pool_size), + if AsyncThreads < 8 -> + error_logger:warning_msg("Erlang VM is running with ~s I/O threads, file I/O performance may worsen ~n", [integer_to_list(AsyncThreads)]), + ok; + true -> + ok + end. + home_dir() -> case init:get_argument(home) of {ok, [[Home]]} -> Home; |