[rabbitmq-discuss] Recovering Rabbit without restarting

Simon MacMullen simon at rabbitmq.com
Tue Jan 17 11:40:42 GMT 2012


On 16/01/12 17:34, Ben Hood wrote:
> I'm currently looking into a production scenario with
> 2.7.0/RHEL5/R13B3 where Rabbit has ground to halt by consuming as good
> as all of the CPU, but is still responding to external requests,
> albeit very slowly. Peers appear to still be connected to the broker.
> Running rabbitmqctl works, but any kind of report (status,
> list_queues, report etc) is taking too long to return to get any
> diagnostics whatsoever.
>
> So I was wondering if there is any way to somehow throttle heavyweight
> activities so that we can run some of the normal diagnostics, short of
> restarting the whole instance.

If the memory alarm has not already gone off by this point you may 
benefit from making it go off to halt publishers:

$ rabbitmqctl set_vm_memory_high_watermark 0.00001

(remember to set it back to 0.4 or whatever afterward!)

Also, the management plugin should in general be more responsive than 
rabbitmqctl in heavily-loaded situations. This is because rabbitmqctl 
will go and interrogate each {queue / connection / channel} in turn, 
while management caches updates that are broadcast by these objects.

Cheers, Simon

-- 
Simon MacMullen
RabbitMQ, VMware


More information about the rabbitmq-discuss mailing list