[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