[rabbitmq-discuss] Java client Channel.Close blocking indefinitely

Matthias Radestock matthias at rabbitmq.com
Thu Sep 1 09:05:41 BST 2011


Iain,

On 01/09/11 08:49, Iain Hull wrote:
> Thanks for your response, yes you are right. I reran the test last night
> with 2.6.0 and the same thing happened.
>
> Below is the output from the rabbit log file.  It clearly shows an alarm
> set at 19:28:20 and then cleared at 23:45:45, then set at 23:45:46 and
> cleared at 03:49:42 then finally set again at 03:49:43 and not cleared.
> [...]
> Erlang processes    28323 / 32768
> [...]
> The next questions are
> * How to prevent this happening to the server? I will start researching
> this now, but any pointers would be appreciated.
> * How to help the client react to this situation? Blocking indefinitely
> is not very nice,

Generally the memory alarm should always clear eventually. However, 
there are some exceptions...

You have 28323 Erlang processes. That suggests you have lots of channels 
or lots of queues. Each of these has a memory footprint. If your app 
really needs that many channels/queues then you need to run rabbit on a 
machine with more memory, or set up a cluster to divide the 
channels/queues between multiple nodes.

[as an aside, it is curious that the limit for the erlang processes is 
reported as 32k - the default rabbit config sets it to 1M; have you 
changed the config / start up scripts?]


Regards,

Matthias.


More information about the rabbitmq-discuss mailing list