[rabbitmq-discuss] RabbitMQ and Stomp topic behavior

Matthias Radestock matthias at rabbitmq.com
Mon Aug 8 16:06:31 BST 2011


Massimo,

On 07/08/11 20:52, Massimo Paladin wrote:
> Why does the memory goes up if there are no consumers attached to the topic?

Messages are processed in a fully asynchronous pipeline, and the 
decision on whether to discard a message is made at a later stage.

Having this pipeline allows rabbit to absorb spikes in message load, 
i.e. it can read messages off the socket quickly and pass them to the 
next stage of the pipeline.

However, if the load is not a spike and instead is consistently high 
then obviously rabbit will run out of memory eventually. To prevent 
that, memory usage is monitored and producers are temporarily blocked to 
relieve memory pressure. So...

> The scenario provided makes memory increasing and if you let it run for
> some time at some point rabbitmq crashes because it can not allocate memory.

That shouldn't happen. Do you get any memory alarms in the rabbit logs? 
Also, does Rabbit run out of memory with the default threshold of 0.4?

Regards,

Matthias.


More information about the rabbitmq-discuss mailing list