Correndo 12.04.3 LTS
Um usuário enviando um trabalho em lote para a fila estava recebendo um
'too many open files error'
A investigação sugeriu a alteração do arquivo /etc/security/limits.conf
que foi feito para todos os usuários e para a raiz especificando individualmente limites rígidos de 65536. ulimit -a
retorna o limite de 65536. Também o /etc/pam.d/ common-session
, common-session-noninteractive
, login, Todos os arquivos ssh tiveram a sessão de linha necessária pam_limits.so
adicionado.
O problema persiste e pode ser visto ao consultar o arquivo /proc/pid/limits
dos processos listados usando lsof
. Aqui, o nofile
limite para processos listados como sh sob o comando permanece como limite flexível de 1024 e limite rígido de 4096, que eram os padrões originais do sistema. Os limites para outros processos, por exemplo, aqueles com o comando grep
, foram alterados para o novo limite de 65536.
Como escrito, o script que está sendo executado requer uma pequena quantidade de arquivos abertos, a partir dos quais as entradas individuais são coletadas e transferidas para outro arquivo composto. A falha sempre ocorre no arquivo 512 que parece indicar que está batendo no limite.
O que precisa ser mudado para aumentar os limites para os comandos que se encaixam no sh?
Tags 12.04 ulimit pam-environment