RabbitMQ 启动及参数说明

/usr/local/lib/erlang/erts-10.4/bin/beam.smp -W w -A 128 -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -P 1048576 -t 5000000 -stbt db -zdbbl 128000 -K true -- -root /usr/local/lib/erlang -progname erl -- -home /var/lib/rabbitmq -- -pa /usr/lib/rabbitmq/lib/rabbitmq_server-3.7.17/ebin -noshell -noinput -s rabbit boot -sname rabbit@server-d68bd180-e71e1 -boot start_sasl -kernel inet_default_connect_options {nodelay,true} -sasl errlog_type error -sasl sasl_error_logger false -rabbit lager_log_root "/var/log/rabbitmq" -rabbit lager_default_file "/var/log/rabbitmq/rabbit@server-d68bd189-ee71e1.log" -rabbit lager_upgrade_file "/var/log/rabbitmq/rabbit@server-d68bd189-ec0-4f37a5ee71e1_upgrade.log" -rabbit feature_flags_file "/var/lib/rabbitmq/mnesia/rabbit@server-d68bdf-ae1-feature_flags" -rabbit enabled_plugins_file "/etc/rabbitmq/enabled_plugins" -rabbit plugins_dir "/usr/lib/rabbitmq/plugins:/usr/lib/rabbitmq/lib/rabbitmq_server-3.7.17/plugins" -rabbit plugins_expand_dir "/var/lib/rabbitmq/mnesia/rabbit@server-d68bd189-e9ba5ee71e1-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@server-d68bd1-5ee71e1" -kernel inet_dist_listen_min 25672 -kernel inet_dist_listen_max 25672

以上脚本是用于启动 RabbitMQ 服务器的命令行参数。让我为您解释一下各个参数的含义:

  • /usr/local/lib/erlang/erts-10.4/bin/beam.smp: 这是 Erlang 虚拟机的可执行文件路径,用于执行 RabbitMQ 服务器。

  • -W w: 启用警告信息。

  • -A 128: 设置异步线程池的初始大小为 128。

  • -MBas ageffcbf: 设置二进制内存分配器的初始堆大小为 ageffcbf。

  • -MHas ageffcbf: 设置二进制内存分配器的最大堆大小为 ageffcbf。

  • -MBlmbcs 512: 设置最小的二进制堆大小为 512。

  • -MHlmbcs 512: 设置最大的二进制堆大小为 512。

  • -MMmcs 30: 设置最大的混合内存大小为 30。

  • -P 1048576: 设置 Erlang 进程的最大堆栈大小为 1048576。

  • -t 5000000: 设置垃圾回收的时间限制为 5000000 微秒。

  • -stbt db: 设置垃圾回收的调试选项为 db。

  • -zdbbl 128000: 设置调试信息的缓冲区大小为 128000 字节。

  • -K true: 启用内核 pollset。

  • --: 分隔符,用于将后续的参数传递给 Erlang 虚拟机。

  • -root /usr/local/lib/erlang: 设置 Erlang 安装的根目录。

  • -progname erl: 设置程序名称为 erl。

  • --: 分隔符,用于将后续的参数传递给 RabbitMQ 服务器。

  • -home /var/lib/rabbitmq: 设置 RabbitMQ 的主目录为 /var/lib/rabbitmq。

  • -pa /usr/lib/rabbitmq/lib/rabbitmq_server-3.7.17/ebin: 添加 RabbitMQ 服务器的 ebin 目录到代码路径。

  • -noshell: 启动时不显示 Erlang shell。

  • -noinput: 不从标准输入读取命令。

  • -s rabbit boot: 启动时运行 rabbit 模块的 boot 函数。

  • -sname rabbit@server-d68bd189-e9ba-473f-abc0-4f37a5ee71e1: 设置 RabbitMQ 服务器的节点名为 rabbit@server-d68bd189-e9ba-473f-abc0-4f37a5ee71e1。

  • -boot start_sasl: 启动时启动 SASL(System Architecture Support Libraries)。

  • -kernel inet_default_connect_options [{nodelay,true}]: 设置默认的网络连接选项。

  • -sasl errlog_type error: 设置错误日志类型为 error。

  • -sasl sasl_error_logger false: 禁用 SASL 错误日志记录器。

  • -rabbit lager_log_root "/var/log/rabbitmq": 设置日志文件的根目录为 /var/log/rabbitmq。

  • -rabbit lager_default_file "/var/log/rabbitmq/rabbit@server-d68bd189e71e1.log": 设置默认的日志文件路径。

  • -rabbit lager_upgrade_file "/var/log/rabbitmq/rabbit@server-d68bd189-e9_upgrade.log": 设置升级日志文件路径。

  • -rabbit feature_flags_file "/var/lib/rabbitmq/mnesia/rabbit@server-d68bd189-e9e71e1-feature_flags": 设置特性标志文件路径。

  • -rabbit enabled_plugins_file "/etc/rabbitmq/enabled_plugins": 设置启用的插件文件路径。

  • -rabbit plugins_dir "/usr/lib/rabbitmq/plugins:/usr/lib/rabbitmq/lib/rabbitmq_server-3.7.17/plugins": 设置插件目录。

  • -rabbit plugins_expand_dir "/var/lib/rabbitmq/mnesia/rabbit@server-d68bd18e71e1-plugins-expand": 设置扩展插件目录。

  • -os_mon start_cpu_sup false: 禁用 CPU 监控。

  • -os_mon start_disksup false: 禁用磁盘监控。

  • -os_mon start_memsup false: 禁用内存监控。

  • -mnesia dir "/var/lib/rabbitmq/mnesia/rabbit@server-d68bd1895ee71e1": 设置 Mnesia 数据库的目录。

  • -kernel inet_dist_listen_min 25672: 设置分布式节点监听的最小端口号为 25672。

  • -kernel inet_dist_listen_max 25672: 设置分布式节点监听的最大端口号为 25672。

这些参数用于配置 RabbitMQ 服务器的各种选项和功能。

相关推荐
是Dream呀13 小时前
Harness 工程:让 Agent 真正把任务做完
人工智能·分布式·缓存·agent
yt004yt13 小时前
绿岛数字化平台搭建:VOCs 监测与能碳数据一体化方案
大数据·分布式
天天喝旺仔15 小时前
分布式服务容错实战:用 Sentinel 实现限流、熔断与降级
分布式·微服务·云原生·sentinel
手握风云-16 小时前
一条消息的旅程:RabbitMQ 学习与实践(五)
rabbitmq·java-rabbitmq
lisanmengmeng18 小时前
分布式追踪与监控:Skywalking(三)
分布式·skywalking
会周易的程序员1 天前
5 节点边缘冗余方案(上):基于 aiRaft 的物联网高可用控制面设计
c++·分布式·物联网·raft·iot·共识
青山木2 天前
RocketMQ 入门到原理(一):整体架构与消息的生命周期
java·分布式·后端·中间件·架构·rocketmq
szephyr2 天前
消息队列入门:RabbitMQ 和 Kafka 到底怎么选,什么时候不该用
后端·架构·kafka·消息队列·rabbitmq
lisanmengmeng2 天前
分布式追踪与监控:Skywalking介绍(一)
分布式·skywalking