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 | bdf5a7da7de3da82d1088569f241f3b52c949d1a (patch) | |
| tree | 6f0a78b14ac78df5af7ebedf5cb0e9882acb9b78 | |
| parent | c69f13285074b856a9239967ad46ac376e74c843 (diff) | |
| download | rabbitmq-server-git-bdf5a7da7de3da82d1088569f241f3b52c949d1a.tar.gz | |
Log warnings if kernel poll is disabled or VM is running with just 1 scheduler
| -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 152d7ca8a3..79e24c4a2c 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; |
