【原创】RabbitMQ启动参数具体含义
生活随笔
收集整理的這篇文章主要介紹了
【原创】RabbitMQ启动参数具体含义
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
? ? ?本文詳細說明了 rabbitmq 服務程序啟動時配置參數的含義。[root@Betty mnt]# ps aux|grep rabbit root 3588 0.3 0.9 133420 37812 ? Sl 09:35 0:11 /usr/local/lib/erlang/erts-5.9.2/bin/beam.smp -W w -K true -A30 -P 1048576 -- -root /usr/local/lib/erlang -progname erl -- -home /root -- -pa /usr/local/sbin/../ebin -noshell -noinput -s rabbit boot -sname rabbit@Betty -boot start_sasl -kernel inet_default_connect_options [{nodelay,true}] -sasl errlog_type error -sasl sasl_error_logger false -rabbit error_logger {file,"/var/log/rabbitmq/rabbit@Betty.log"} -rabbit sasl_error_logger {file,"/var/log/rabbitmq/rabbit@Betty-sasl.log"} -rabbit enabled_plugins_file "/etc/rabbitmq/enabled_plugins" -rabbit plugins_dir "/usr/local/sbin/../plugins" -rabbit plugins_expand_dir "/var/lib/rabbitmq/mnesia/rabbit@Betty-plugins-expand" -os_mon start_cpu_sup false -os_mon start_disksup false -os_mon start_memsup false -mnesia dir "/var/lib/rabbitmq/mnesia/rabbit@Betty" -noshell -noinput
? ? ?我們通常使用?erl <arguments> 命令啟動 Erlang 的運行時系統,其中? arguments 就是我們啟動時指定的各種參數。其類型如下:
- + ? ?emulator flag ? ? ? ? ? ?there are a small number of "-" flags which now actually are emulator flags
- - ? ?flag ? ?{init flag, user flag} ?init process interprets init flags, and stores user flags. ? ?
- -- ? plain argument ? ? ? ? ?init process plain argument, -extra causes everything that follows to become plain arguments
可以在 Erlang shell 或者 code 中通過如下調用獲取相應的值:
- init:get_argument/1 ? ? ? ? ? ? ? ?-- 獲取指定 user flag 或者系統自定義 flag 的值
- init:get_arguments/0 ? ? ? ? ? ? ?-- 獲取所有 user flag 和系統自定義 flag 的值
- init:get_plain_arguments/0 ? ? -- 獲取所有 plain argument 的值
? ? ?下面將上面的啟動參數進行分解說明:
/usr/local/lib/erlang/erts-5.9.2/bin/beam.smp?-W w
========== +W w | i Sets the mapping of warning messages for error_logger. Messages sent to the error logger using one of the warning routines can be mapped either to errors (default), warnings (+W w), or info reports (+W i). The current mapping can be retrieved using error_logger:warning_map/0. See error_logger(3) for further information. ========== -K true
========== +K true | false Enables or disables the kernel poll functionality if the emulator supports it. Default is false (disabled). If the emulator does not support kernel poll, and the +K flag is passed to the emulator, a warning is issued at startup. ========== -A30
========== +A size Sets the number of threads in async thread pool, valid range is 0-1024. Default is 0. ========== -P 1048576?
========== +P Number Sets the maximum number of concurrent processes for this system. Number must be in the range 16..134217727. Default is 32768. ========== --?
========== --(init flag) Everything following -- up to the next flag (-flag or +flag) is considered plain arguments and can be retrieved using init:get_plain_arguments/0. ==========
-root /usr/local/lib/erlang?
-progname erl?
--?
-home /root?
--?
-pa /usr/local/sbin/../ebin
========== -pa Dir1 Dir2 ... Adds the specified directories to the beginning of the code path, similar to code:add_pathsa/1. See code(3). As an alternative to -pa, if several directories are to be prepended to the code and the directories have a common parent directory, that parent directory could be specified in the ERL_LIBS environment variable. See code(3). -pz Dir1 Dir2 ... Adds the specified directories to the end of the code path, similar to code:add_pathsz/1. See code(3). ========== -noshell
-noinput
========== -noinput Ensures that the Erlang runtime system never tries to read any input. Implies -noshell. -noshell Starts an Erlang runtime system with no shell. This flag makes it possible to have the Erlang runtime system as a component in a series of UNIX pipes. ========== -s rabbit boot?
========== -s Mod [Func [Arg1, Arg2, ...]](init flag) Makes init call the specified function. Func defaults to start. If no arguments are provided, the function is assumed to be of arity 0. Otherwise it is assumed to be of arity 1, taking the list [Arg1,Arg2,...] as argument. All arguments are passed as atoms. See init(3). ========== -sname rabbit @Betty -boot start_sasl?
========== -sname Name Makes the Erlang runtime system into a distributed node, similar to -name, but the host name portion of the node name Name@Host will be the short name, not fully qualified. This is sometimes the only way to run distributed Erlang if the DNS (Domain Name System) is not running. There can be no communication between nodes running with the -sname flag and those running with the -name flag, as node names must be unique in distributed Erlang systems. ==========
-kernel inet_default_connect_options [{nodelay,true}]?
-sasl errlog_type error?
-sasl sasl_error_logger false?
-rabbit error_logger {file,"/var/log/rabbitmq/rabbit@Betty.log"}?
-rabbit sasl_error_logger {file,"/var/log/rabbitmq/rabbit@Betty-sasl.log"}?
-rabbit enabled_plugins_file "/etc/rabbitmq/enabled_plugins"?
-rabbit plugins_dir "/usr/local/sbin/../plugins"?
-rabbit plugins_expand_dir "/var/lib/rabbitmq/mnesia/rabbit@Betty-plugins-expand"?
-os_mon start_cpu_sup false?
-os_mon start_disksup false?
-os_mon start_memsup false?
-mnesia dir "/var/lib/rabbitmq/mnesia/rabbit@Betty"?
========== -Application Par Val Sets the application configuration parameter Par to the value Val for the application Application, see app(4) and application(3). ==========
-noshell?
-noinput
注:
上面參數中的 emulator flag 均使用的 - 號作為前綴,其在erts-5.9.2中的說明如下:?
? ? ? 上面未進行解釋說明的 -root /usr/local/lib/erlang 、-progname erl 和 -home /root 均為 user flag 。這些參數為運行時系統自動定義的。其中
- root ? ? ? ? The installation directory of Erlang/OTP, $ROOT.
- progname ? ? The name of the program which started Erlang.
- home ? ? ? ? The home directory.
轉載于:https://my.oschina.net/moooofly/blog/107890
總結
以上是生活随笔為你收集整理的【原创】RabbitMQ启动参数具体含义的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android面试题总结加强版
- 下一篇: 让博客园的编辑器自动上传外链图片