Você sempre pode editar o arquivo /etc/init.d/asterisk
e preceder ulimit -n 2048
no topo.
Este é o mesmo processo que o MySQL, o Varnish e alguns outros usam.
Como eu aumento o limite de arquivos para o daemon asterisco no meu computador Ubuntu? Quando faço o login como root e uso o ulimit, ele diz que o ilimitado já está. Não consigo fazer login como asterisco porque esse usuário não tem acesso ao shell, é apenas um daemon.
Eu posso ver em /proc/<asterisk proc id>/limits
os arquivos abertos Max atuais é 1024. Eu quero dobrar isso.
Eu até fui em /etc/security/limit.conf e adicionei
asterisk soft nofile 2048
asterisk hard nofile 2048
@asterisk soft nofile 2048
@asterisk hard nofile 2048
Depois eu reinicio o servidor. Ainda assim, o máximo de arquivos abertos é 1024.
O que mais posso fazer?
Eu tive esse problema exato para alguém que tropeça no futuro (é o Chrome?)
O sistema em que eu estava tendo o problema era o Debian ao invés do Ubuntu, mas ei, perto o suficiente.
Eu tive que usar o seguinte em '/etc/security/limits.conf' para fazê-lo funcionar, como especificando o usuário & o grupo não funcionou.
* soft nofile 10240
* hard nofile 10240
Fazer login e sair novamente aplica essa alteração.
É melhor editar as configurações em /usr/sbin/safe_asterisk
ao editar o script init.d.
você pode definir vários parâmetros ( PRIORITY
, SYSMAXFILES
, MAXFILES
...). Uncomment SYSMAXFILES e MAXFILES; e aumentar seus valores.
No Asterisk 11 (eu não verifiquei outros) isso é definido com a diretiva maxfiles
na seção [general]
de asterisk.conf
. Nenhuma das outras respostas funcionou para mim no Debian.
Para o Asterisk rodando sob o systemd (por exemplo, no Debian 9), você precisa criar um arquivo de substituição do systemd:
mkdir /etc/systemd/system/asterisk.service.d/
Crie /etc/systemd/system/asterisk.service.d/override.conf
com o seguinte conteúdo:
[Service]
LimitNOFILE=100000
Recarregue a unidade:
systemctl daemon-reload
Reinicie o asterisco:
systemctl restart astertisk
Verifique o limite:
cat /proc/<your asterisk PID>/limits | grep '^Max open files'