Сервер упал, превышел лимит открытых соединений

Последнюю неделю сервер стал падать, не пойму в чем точно причина его падения?(логи ниже)
Система: FreeBSD 7
EjabberD 1.1.4

Нашел в инете, что просто превышается лимит открытых соединений 1024, настроил конфиг по адресу:
/usr/local/etc/ejabberd/ejabberd.defaults

# Additionnal options passed to erlang while starting ejabberd.
# See erl(3) for more info
# default options already passed are:
#   -noshell -detached
#export ERL_OPTIONS="-heart"

# To use more than 1024 connections, you will need to set environment variable ERL_MAX_PORTS:
export ERL_MAX_PORTS=10024

# To reduce memory usage, you can set environment variable ERL_FULLSWEEP_AFTER:
# But in this case ejabberd may work slower.
#export ERL_FULLSWEEP_AFTER=0

но он все равно сегодня упал. Посоветуйте что еще настроить, чтобы ему хватало лимита для открытия портов.

=CRASH REPORT==== 17-Jun-2008::12:35:14 ===
  crasher:
    pid: <0.17870.1>
    registered_name: []
    exception exit: {system_limit,
                        [{erlang,open_port,[{spawn,expat_erl},[binary]]},
                         {xml_stream,new,2},
                         {ejabberd_receiver,init,1},
                         {gen_server,init_it,6},
                         {proc_lib,init_p,5}]}
      in function  gen_server:init_it/6
    initial call: gen:init_it(gen_server,<0.197.0>,<0.197.0>,
                              ejabberd_receiver,
                              [#Port<0.13058331>,gen_tcp,none,131072,
                               <0.17869.1>],
                              [])
    ancestors: [ejabberd_receiver_sup,ejabberd_sup,<0.36.0>]
    messages: []
    links: [<0.197.0>]
    dictionary: []
    trap_exit: false
    status: running
    heap_size: 377
    stack_size: 23
    reductions: 107
  neighbours:

=CRASH REPORT==== 17-Jun-2008::12:35:14 ===
  crasher:
    pid: <0.17869.1>
    registered_name: []
    exception exit: {{badmatch,
                         {error,
                             {system_limit,
                                 [{erlang,open_port,
                                      [{spawn,expat_erl},[binary]]},
                                  {xml_stream,new,2},
                                  {ejabberd_receiver,init,1},
                                  {gen_server,init_it,6},
                                  {proc_lib,init_p,5}]}}},
                     [{ejabberd_receiver,start,4},
                      {ejabberd_c2s,init,1},
                      {gen_fsm,init_it,6},
                      {proc_lib,init_p,5}]}
      in function  gen_fsm:init_it/6
    initial call: gen:init_it(gen_fsm,<0.17868.1>,self,ejabberd_c2s,
                              [{gen_tcp,#Port<0.13058331>},
                               [{access,c2s},
                                zlib,
                                {max_stanza_size,131072},
                                {shaper,c2s_shaper}]],
                              [])
    ancestors: [<0.17868.1>,ejabberd_listeners,ejabberd_sup,<0.36.0>]
    messages: []
    links: []
    dictionary: []
    trap_exit: false
    status: running
    heap_size: 377
    stack_size: 23
    reductions: 115
  neighbours:

хм..., вот и

хм..., вот и guide

Quote:

To use more than 1024 connections, you should set the environment variable ERL_MAX_PORTS:

export ERL_MAX_PORTS=32000

Note that with this value, ejabberd will use more memory (approximately 6 MB more).

To reduce memory usage, you may set the environment variable ERL_FULLSWEEP_AFTER:

export ERL_FULLSWEEP_AFTER=0

But in this case ejabberd can start to work slower.

Syndicate content