[rabbitmq-discuss] Memory High Watermark.
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%.
More information about the rabbitmq-discuss