[rabbitmq-discuss] RabbitMQ crashes hard when it runs out of memory

Stephen Day sjaday at gmail.com
Thu Oct 22 21:50:52 BST 2009


Unfortunately, the system has crashed since the last outputs I provided, but
the behavior remains. There definitely seems to be some memory held up in
the persister, but I dont think this is the main source. Below, I printed
out the memory for the process, gc'd it, then printed it again:

1> process_info(whereis(rabbit_persister)).
[{registered_name,rabbit_persister},
 {current_function,{gen_server2,process_next_msg,8}},
 {initial_call,{proc_lib,init_p,5}},
 {status,waiting},
 {message_queue_len,0},
 {messages,[]},
 {links,[<0.76.0>,<0.188.0>]},
 {dictionary,[{'$ancestors',[rabbit_sup,<0.75.0>]},
              {'$initial_call',{rabbit_persister,init,1}}]},
 {trap_exit,true},
 {error_handler,error_handler},
 {priority,normal},
 {group_leader,<0.74.0>},
 {total_heap_size,43398670},
 {heap_size,5135590},
 {stack_size,13},
 {reductions,128289510},
 {garbage_collection,[{fullsweep_after,65535},
                      {minor_gcs,49}]},
 {suspending,[]}]
2> garbage_collect(whereis(rabbit_persister)).
true
3> process_info(whereis(rabbit_persister)).
[{registered_name,rabbit_persister},
 {current_function,{gen_server2,process_next_msg,8}},
 {initial_call,{proc_lib,init_p,5}},
 {status,waiting},
 {message_queue_len,0},
 {messages,[]},
 {links,[<0.76.0>,<0.188.0>]},
 {dictionary,[{'$ancestors',[rabbit_sup,<0.75.0>]},
              {'$initial_call',{rabbit_persister,init,1}}]},
 {trap_exit,true},
 {error_handler,error_handler},
 {priority,normal},
 {group_leader,<0.74.0>},
 {total_heap_size,987},
 {heap_size,610},
 {stack_size,13},
 {reductions,133572480},
 {garbage_collection,[{fullsweep_after,65535},{minor_gcs,6}]},
 {suspending,[]}]

So, even the though this collected quite a bit of memory, we can see that
the binary allocation is still large:

4> memory().
[{total,906056008},
 {processes,72681252},
 {processes_used,72668564},
 {system,833374756},
 {atom,515733},
 {atom_used,490081},
 {binary,769103232},
 {code,3890441},
 {ets,58694668}]

Is there a way I can print the allocators for this binary memory?

-Stephen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20091022/568e9637/attachment.htm 


More information about the rabbitmq-discuss mailing list