[rabbitmq-discuss] Memory High Watermark.

Simon MacMullen simon at rabbitmq.com
Wed Oct 16 16:00:35 BST 2013

On 16/10/13 15:43, Chris Nicel wrote:
> I would like to know more about the decision to default the memory high
> watermark to 40% of the installed RAM. Is this designed for use on a
> server with contended resources? If the server is dedicated to running
> RabbitMQ can this be raised to say 80% or 90% safely?

The original reason was a fear that although Erlang has per-process GC, 
we could theoretically end up in a situation where one process filled 
most of the VM, and the extra space required to GC it caused the machine 
to run out of space altogether.

That's quite unlikely though, the typical case is likely to be a VM with 
no one process dominating.

There's a second reason which I find more compelling: the high watermark 
is the point at which the broker stops accepting new messages, not the 
point at which it stops consuming more memory. In theory the one 
controls the other, but in practice there's likely to be some hysteresis.

We can't assume that swap space exists either, we have to assume that if 
we run out of memory then that's game over. If like almost everybody you 
do have swap space working then you can probably raise the limit 
somewhat. Personally I would be comfortable at 60 or 70%.

Cheers, Simon

Simon MacMullen
RabbitMQ, Pivotal

More information about the rabbitmq-discuss mailing list