[rabbitmq-discuss] configuring beam and rabbit

Aaron Westendorf aaron at agoragames.com
Tue Jul 13 17:08:27 BST 2010

I missed some changes to the rabbitmq-server script that occurred
sometime between 1.5.0 and 1.7.0.

In older versions, the script included the following line at the top:

  [ -f /etc/rabbitmq/rabbitmq.conf ] && . /etc/rabbitmq/rabbitmq.conf

The file could be used to define any of the bash options, but
documentation and/or posts had suggested that this was how one would
disable smp, for example:


One could also alter the rest of the standard kernel options and set
socket buffers through this mechanism.  It appears that this file now
is loaded from /<erlang_path>/lib/<rabbit>/scripts/rabbitmq-env which
is included in both rabbitmq-server and rabbitmq-multi, and that this
environment variable is still the correct way to affect kernel polling
and thread and process count.

This causes a lot of confusion with the new config file,
/etc/rabbitmq/rabbitmq.config, which seems to be the place where all
of the application configuration should go.  I feel like I've heard
that this includes socket buffers, but I don't recall.  The only
documentation I can find on the file relates to setting
"vm_memory_high_watermark", which seems to be specific to rabbit and
not the same as the old "-os_mon system_memory_high_watermark" setting
that was embedded in the rabbitmq-server script.  Is there a complete
reference on the format of this file and what options are available?
Can the cluster configuration be merged into this file?

I'm an erlang noob, but have worked with rabbit enough and read
through the scripts to guess that the following content for
rabbitmq.config would work as expected:

  {rabbit, [
    {vm_memory_high_watermark, 0},
    {cluster_config, [rabbit at host1, rabbit at host2]},
  {kernel, [
[{nodelay,true},{sndbuf,32768},{recbuf,32768}] },
    {inet_default_connect_options, [{nodelay,true}] }
  {os_mon, [
    {start_cpu_sup, false},

Please let me know if my understanding of the current configuration is
correct.  I need to fix some of our defaults, re-arrange some files
and I'll probably write up a blog post to summarize our setup.


Aaron Westendorf
Senior Software Engineer
Agora Games
359 Broadway
Troy, NY 12180
Phone: 518.268.1000
aaron at agoragames.com

More information about the rabbitmq-discuss mailing list