Sim, eu sei que esta pergunta foi feita antes e tentei todas as soluções que vi e nenhuma delas funciona para mim. Estamos executando o Ubuntu 12, e temos um processo que é automaticamente iniciado pela upstart toda vez que a máquina é inicializada. Eu entrei no /etc/security/limits.conf e adicionei estas linhas:
* hard nofile 65000
* soft nofile 32000
root hard nofile 65000
root soft nofile 32000
Eu também entrei no /etc/pam.d/common-session e adicionei esta linha:
session required pam_limits.so
Para fazer isso funcionar em processos não interativos, eu também entrei no /etc/pam.d/common-session-noninteractive e adicionei a mesma linha exata.
Quando eu faço o login como nosso usuário adminstrator (que está na lista sudo, e eu chamarei esse usuário de SUDOUSER), vejo que os limites agora são 32000 como esperado quando faço um ulimit -a.
Então eu faço uma reinicialização de toda a máquina, para ter certeza de que os limites se aplicam a novos processos, como o processo que é iniciado pelo upstart após a reinicialização.
No entanto, após a reinicialização, quando observo o processo persistente iniciado no tempo de execução, obtenho a ID do processo (digamos 12345) e, em seguida, faço cat / proc / 12345 / limits e vejo que os limites ainda são os padrões ( 1024 soft, 4096 hard).
Então, o que estou fazendo de errado?