[rabbitmq-discuss] Proper protocol for dealing with crash dumps?

Matthias Radestock matthias at rabbitmq.com
Wed Oct 3 22:24:50 BST 2012


Alex,

On 02/10/12 15:09, Alex Zepeda wrote:
> =erl_crash_dump:0.1
> Fri Sep 28 20:38:32 2012
> Slogan: eheap_alloc: Cannot allocate 747325720 bytes of memory (of type "heap").
> System version: Erlang R13B03 (erts-5.7.4) [source] [64-bit] [smp:4:4] [rq:4] [async-threads:30] [hipe] [kernel-poll:true]
> Compiled: Fri Sep 24 19:15:42 2010
>
> Nothing else should be using a lot of memory,

"should" - you may want to check that ;)

Mind you, the above is trying to allocate 740MB - does that seem 
reasonable for your rabbit?

> unless there have been memory leaks fixed since R13B03 + 2.8.6?

R13B03 is ancient, and countless bugs have been fixed since then, 
including memory leaks. Though, tbh, it's not the first place I'd look. 
Rabbit 2.8.7 plugs some leaks, but they were confined to HA queues (see 
the release notes for more details), so unless you are using those then 
upgrading won't help.

Have you changed the memory watermark settings of rabbit at all? If not 
then rabbit really shouldn't run out of memory unless another program is 
stealing the memory, or your app is creating lots of exchanges, queues 
or bindings. Or lots of connections. Or you are using some exotic 
plug-ins with hitherto undiscovered bugs. In all those cases, grabbing 
the output of 'rabbitmqctl report' before rabbit dies should offer some 
clues.

Regards,

Matthias.


More information about the rabbitmq-discuss mailing list