summaryrefslogtreecommitdiff
path: root/src/rabbit.erl
diff options
context:
space:
mode:
authorMichael Klishin <michael@rabbitmq.com>2014-06-19 10:23:36 +0400
committerMichael Klishin <michael@rabbitmq.com>2014-06-19 10:23:36 +0400
commitab8bb37299daaaae14e89140b82ff9c8d561e887 (patch)
tree90d6433215cb047e07c39aae0d8b8d66741b4928 /src/rabbit.erl
parent7b237b626aa7161080103c763863d3fda18b3c5c (diff)
downloadrabbitmq-server-ab8bb37299daaaae14e89140b82ff9c8d561e887.tar.gz
Log a warning if running with < 8 async threads
Diffstat (limited to 'src/rabbit.erl')
-rw-r--r--src/rabbit.erl14
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;