determinar ulimit para usuário root


8

acreditamos que aumentamos o número máximo de descritores de arquivos abertos para o usuário root. Isso foi feito adicionando esta linha ao /etc/security/limits.conf:

*         -    nofile            2048

Acreditamos que confirmamos que o limite do usuário raiz foi aumentado porque podemos dizer (não descrito aqui) que nosso aplicativo (solr - que é executado pela raiz) tem 1098 arquivos abertos. No entanto, não podemos dizer com certeza quantos arquivos abertos o usuário root é permitido. Esperamos que este comando funcione, mas não parece ser:

$ sudo -u root -s "ulimit -Sn"
1024

Alguma ideia? Obrigado!


Existem outras entradas para o nofile no limits.conf? Talvez esteja sendo substituído. E quanto aos possíveis erros de análise de limits.conf. Você pode anexar seu arquivo inteiro?
Andrew Case

Você está executando o selinux? Qual é a saída: ls -lz /etc/security/limits.conf
Andrew Caso

Respostas:


6

Obtenha o PID do processo em solrexecução e, em seguida cat /proc/$SOLR_PID/limits- isso informará os limites reais do processo.

Eu recomendaria executar coisas como solrum usuário não privilegiado separado. Ao fazer isso, você tem várias opções ( limits.conf ou adiciona um ulimit -n 2048ao script init, ...). O último não é tão brilhante, mas funciona para configurações rápidas e para reiniciar o daemon

RANT: não me diga que você não pode reiniciar porque perderá o serviço. Se for esse o caso, você deve ter uma configuração de HA de qualquer maneira :)


5

Depois de alterar o número de arquivos abertos /etc/security/limits.conf, o usuário deve sair e entrar novamente para entrar em vigor. Então, tente o seguinte:

$ sudo su -
# ulimit -Sn

2

Eu sei que esta pergunta tem uma resposta, mas isso parece mais uma solução alternativa, não uma solução real.

De acordo com o ubuntu, isso não é um bug, mas um problema de documentação, consulte: https://bugs.launchpad.net/ubuntu/+source/pam/+bug/65244

Obrigado pelo seu relatório. Como você disse, isso não é um bug no pam, mas um problema de documentação. O fato de permitir explicitamente limites para a raiz do usuário foi abordado há um tempo (30 de agosto de 2000), mas você precisa nomear explicitamente a raiz do usuário para aplicar os limites.

Portanto, se você deseja alterar o ulimit em todos os usuários, incluindo o usuário root, é necessário especificar:

*         -    nofile            2048
root      -    nofile            2048
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.