[rabbitmq-discuss] Cluster Memory Usage

Travis hcoyote at ghostar.org
Mon Nov 21 21:11:57 GMT 2011

[note:  Cameron and I work for the same place; I'm the sysadmin he's
working with on our rabbit cluster]

On Mon, Nov 21, 2011 at 2:39 PM, Matthias Radestock
<matthias at rabbitmq.com> wrote:
> Cameron,
> On 20/11/11 16:49, Matthias Radestock wrote:
>> Once connected, evaluate
>> io:format("~p", [lists:reverse(lists:sort([{process_info(Pid, memory),
>> Pid, process_info(Pid)} || Pid <- processes()]))]).
>> Post the result and the output of 'rabbitmqctl status' at the time.
> [output received off-list - thanks]
> The memory is taken up by the mirror queue slave Erlang process.
> How many messages were in the queue at the time?

The queue was sitting at about 10 thousand messages.

> Also, what memory limit does rabbit report in its log?

Memory limit set to 2408MB.

We have the vm_memory_high_watermark set to 10%.  The system has 24GB of memory.

> Are both nodes configured as disk nodes?


> You mentioned that acks are batched; what is the batch size?

We ack in batches of 100.

> You mentioned that publishers use 'confirms'. Do they wait for confirmation
> after every message, after some batch of messages, or do they let confirms
> stream in completely independently?

We're shoveling from remote rabbitmqs into the cluster.  The shovels have a
prefetch of 1000.  They are set to confirm.  So I presume that the answer to
your questions depends on how the shovel works.

> I have so far failed to reproduce your observations locally. Is there any
> chance you could give us access to the slave machine?

Unfortunately no, but I can certainly run whatever diags you need.

Travis Campbell
travis at ghostar.org

More information about the rabbitmq-discuss mailing list