[rabbitmq-discuss] rabbitmq with one producer no consumer

Matthew Sackman matthew at rabbitmq.com
Sun Jul 18 12:35:16 BST 2010

1. If your goal is to be able to use Rabbit to buffer large numbers of
messages, larger than the amount of RAM you have available, then you
need to be using the new persister.

2. The memory watermark is deliberately set at 0.4 because GC can
temporarily cause twice as much memory to be required (so will jump to
0.8) and the remaining 0.2 is ideally left for OS disk buffers.

3. A 32-bit OS will only ever be able to allocate a maximum of 4GB to
one process (and frequently 2GB).

4. If Erlang requires more memory than the OS can allocate to it, then
it will crash. Thus setting the memory watermark to 0.98 will result in
a crash as soon as a GC run causes Rabbit to use more than
0.98 * (min(4GB, installed RAM))

5. If you're using the new persister, you shouldn't have any need to
move the watermark away from 0.4.


More information about the rabbitmq-discuss mailing list