[rabbitmq-discuss] RabbitMQ memory management

Matthias Radestock matthias at lshift.net
Sat Sep 13 05:00:45 BST 2008


Hi,

tsuraan wrote:
> If RabbitMQ crashes because it's out of memory, I understand that it
> should be able to start again without losing any data

Only *durable* queues and exchanges, and *persistent* messages are 
recoverable, as per the spec.

> Will the next message sent to it (before any messages are dequeued)
> cause the queue to crash again? I assume that must be the case, since
> nothing was lost when the program crashed.

Messages aren't the only entities consuming memory. I would hope that 
RabbitMQ is able to recover the state (as defined above) after an OoM 
error, and take in a few more messages, but it's not something we have 
tested. It's possible that the startup sequence uses just that little 
bit more memory which would push the system over the edge.

Generally, if there are worries about RabbitMQ running out of memory one 
should try catching that case well before it happens. It's not really 
advisable to run a system so close to the limits.


Matthias.




More information about the rabbitmq-discuss mailing list