[rabbitmq-discuss] vm_memory_high_watermark of RabbitMQ

Chen, Bin Bin.Chen at kla-tencor.com
Thu Aug 2 19:33:24 BST 2012


Hi Emile,

Here is the output of rabbitmqctl eval 'os_mon_sysinfo:get_mem_info().'
:


["14 25760477184 22026973184 51519008768 47093096448 4294836224
4282273792\n"]
...done.


Here is the output of rabbitmqctl status :


Status of node rabbit at SERVER001 ...
[{pid,14920},
 {running_applications,
     [{rabbitmq_management,"RabbitMQ Management Console","2.7.1"},
      {rabbitmq_management_agent,"RabbitMQ Management Agent","2.7.1"},
      {amqp_client,"RabbitMQ AMQP Client","2.7.1"},
      {rabbit,"RabbitMQ","2.7.1"},
      {os_mon,"CPO  CXC 138 46","2.2.5"},
      {sasl,"SASL  CXC 138 11","2.1.9.3"},
      {rabbitmq_mochiweb,"RabbitMQ Mochiweb Embedding","2.7.1"},
      {webmachine,"webmachine","1.7.0-rmq2.7.1-hg"},
      {mochiweb,"MochiMedia Web Server","1.3-rmq2.7.1-git"},
      {inets,"INETS  CXC 138 49","5.5.2"},
      {mnesia,"MNESIA  CXC 138 12","4.4.17"},
      {stdlib,"ERTS  CXC 138 10","1.17.3"},
      {kernel,"ERTS  CXC 138 10","2.14.3"}]},
 {os,{win32,nt}},
 {erlang_version,
     "Erlang R14B02 (erts-5.8.3) [smp:12:12] [rq:12]
[async-threads:30]\n"},
 {memory,
     [{total,43200816},
      {processes,13395088},
      {processes_used,7180168},
      {system,29805728},
      {atom,896677},
      {atom_used,872806},
      {binary,10742872},
      {code,7786932},
      {ets,721700}]},
 {vm_memory_high_watermark,0.0333454016734413},
 {vm_memory_limit,858993459}]
...done.



Note that the vm_memory_high_watermark fraction in status report is much
smaller than 0.4.
I have to give 0.4 in command "rabbitmqctl set_vm_memory_high_watermark
0.4" in order to get the above status result.
The fraction used in rabbitmqctl command is not consistent with the
value in status report.

Thanks,
--Bin Chen

-----Original Message-----
From: Emile Joubert [mailto:emile at rabbitmq.com] 
Sent: Thursday, August 02, 2012 6:57 AM
To: Discussions about RabbitMQ
Cc: Chen, Bin
Subject: Re: [rabbitmq-discuss] vm_memory_high_watermark of RabbitMQ

Hi,

On 02/08/12 04:15, Chen, Bin wrote:
> Be default, "vm_memory_high_watermark" is set to 800 MB.
> Based on the document, this means the fraction is 0.4.

Actually it's the other way around. The default is 0.4, which means that
the total RAM detected on your system is 2Gb. Confirm with rabbitmqctl
eval 'erlang:memory().'
or "rabbitmqctl status" as you have done.

> My system is Windows 2008 Server 64-bit. It has 24 GB ram installed.

That's alot more than the 32bit version of Erlang can address.

> When I ran "rabbitmqctl status", I got a different fraction for 
> "vm_memory_high_watermark".

The fraction should still be 0.4, and I would expect the watermark to be
about 10Gb, provided the maximum RAM is detected correctly and you are
using the 64bit version of Erlang.

> It is much smaller than 0.4, and it seems equal to 800 MB / 24 GB.

Can you please provide the output of
rabbitmqctl eval 'os_mon_sysinfo:get_mem_info().'
It may be that the total memory rather than the total addressable memory
is being used. You should consider using the 64bit version of Erlang
though.


-Emile






More information about the rabbitmq-discuss mailing list