Последнюю неделю сервер стал падать, не пойму в чем точно причина его падения?(логи ниже)
Система: 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
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.