Aumenta o ulimit do arquivo para o daemon do asterisco

6

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?

    
por John 18.05.2013 / 14:00

5 respostas

3

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.

    
por 18.05.2013 / 14:20
2

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.

    
por 02.07.2014 / 11:06
1

É 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.

    
por 21.11.2014 / 17:03
1

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.

    
por 05.10.2015 / 11:59
1

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'
    
por 21.03.2018 / 18:06

Tags