diff options
author | Michael Klishin <michael@rabbitmq.com> | 2014-06-19 10:14:19 +0400 |
---|---|---|
committer | Michael Klishin <michael@rabbitmq.com> | 2014-06-19 10:14:19 +0400 |
commit | 3d2009008faaf9b1798db48c491e0ae113ec85a6 (patch) | |
tree | 6f0a78b14ac78df5af7ebedf5cb0e9882acb9b78 /src/rabbit.erl | |
parent | 4781adc18df89e12a3fb6a6e39e092de066162bd (diff) | |
download | rabbitmq-server-3d2009008faaf9b1798db48c491e0ae113ec85a6.tar.gz |
Log warnings if kernel poll is disabled or VM is running with just 1 scheduler
Diffstat (limited to 'src/rabbit.erl')
-rw-r--r-- | src/rabbit.erl | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/rabbit.erl b/src/rabbit.erl index 152d7ca8..79e24c4a 100644 --- a/src/rabbit.erl +++ b/src/rabbit.erl @@ -491,6 +491,8 @@ start(normal, []) -> true = register(rabbit, self()), print_banner(), log_banner(), + warn_if_kernel_poll_is_disabled(), + warn_if_only_one_scheduler(), run_boot_steps(), {ok, SupPid}; Error -> @@ -818,6 +820,24 @@ log_banner() -> end || S <- Settings]), error_logger:info_msg("~s", [Banner]). +warn_if_kernel_poll_is_disabled() -> + case erlang:system_info(kernel_poll) of + true -> + ok; + false -> + 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", []), + ok; + _ -> + ok + end. + home_dir() -> case init:get_argument(home) of {ok, [[Home]]} -> Home; |