[ejabberd] Server allocating all available ram, then stops at 100% CPU

Evgeny Khramtsov xramtsov at gmail.com
Mon Nov 11 18:14:18 MSK 2013


В Mon, 11 Nov 2013 14:41:12 +0100
Peter Schwindt <ejabberd at schwindt-net.de>:

> Evgeniy,
> 
> I could offer something like this from erlang.log
> 
> 
> =CRASH REPORT==== 11-Nov-2013::14:34:12 ===
>    crasher:
>      initial call: gen:init_it/6
>      pid: <0.25081.30>
>      registered_name: []
>      exception exit: {process_limit,{max_queue,38992}}
>        in function  p1_fsm:terminate/7 (p1_fsm.erl, line 694)
>        in call from p1_fsm:loop/10 (p1_fsm.erl, line 398)
>      ancestors: [ejabberd_s2s_out_sup,ejabberd_sup,<0.37.0>]
>      messages: [terminate_if_waiting_before_retry]
>      links: [<0.303.0>]
>      dictionary: [{'$internal_queue_len',1}]
>      trap_exit: true
>      status: running
>      heap_size: 2629425
>      stack_size: 24
>      reductions: 12235488
>    neighbours:
> 
> =SUPERVISOR REPORT==== 11-Nov-2013::14:34:12 ===
>       Supervisor: {local,ejabberd_s2s_out_sup}
>       Context:    child_terminated
>       Reason:     {process_limit,{max_queue,38992}}
>       Offender:   [{pid,<0.25081.30>},
>                    {name,undefined},
>                    {mfargs,{ejabberd_s2s_out,start_link,undefined}},
>                    {restart_type,temporary},
>                    {shutdown,brutal_kill},
>                    {child_type,worker}]
> 
> Always appearing as a couple, quite a lot of these in the last
> minutes before the server stops reacting.

Seems like your outgoing S2S connections are overloaded. Try to
decrease max_fsm_limit option. Set it to 1000-2000 or something. Refer
to the documentation for more information.


More information about the ejabberd mailing list