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 | c0ca703b243fddf4664e07ad7395368aca6edf2c (patch) | |
| tree | 90d6433215cb047e07c39aae0d8b8d66741b4928 | |
| parent | cf60977badf3d8d2feae9d8c127782389d82d0ce (diff) | |
| download | rabbitmq-server-git-c0ca703b243fddf4664e07ad7395368aca6edf2c.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 760fb90c6d..836b48bcbd 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; |
