[rabbitmq-discuss] Configure VM memory high watermark

Matthew Sackman matthew at rabbitmq.com
Thu Aug 11 17:23:22 BST 2011


On Thu, Aug 11, 2011 at 06:15:45PM +0200, CORDIER-AKKA Sylvain (MORPHO) wrote:
> Following Rabbitmq discuss "unexplained broker shutdown", what are the risks to configure the vm_memory_high_watermark to a higher value in order to not start paging messages at 8% of installed RAM but at 30% or more?

In extremis, it could crash due to the Erlang VM being unable to
allocate sufficient RAM for things like garbage collection. Note this is
really quite unlikely, but not impossible.

Also, Rabbit can't actually stop Erlang from using more RAM. There are
scenarios in which Rabbit will eat up vastly more than the 40% it's
notionally meant to throttle publishers at, so a good amount of buffer
space is well advised. Finally, a good amount of space for the OS to
cache disk in is also helpful.

More likely is that you run out of RAM, which means you then have no
disk cache, so performance will suffer, and then Rabbit will start being
swapped out to disk, which will utterly cripple performance. Once
performance starts to drop, as it's likely Rabbit is overloaded anyway
(otherwise it wouldn't have used up so much RAM), performance will fall
off very rapidly, and this can go from bad to worse.

Matthew


More information about the rabbitmq-discuss mailing list