ubuntu upstart - como definir o limite global de nofile?

1

ubuntu 12.04

Alterei a configuração:

 /etc/security/limits.conf
 *               soft    nofile          65000
 *               hard    nofile          65000

mas cat / proc / {PID} / limits:

Limit                     Soft Limit           Hard Limit           Units     
Max open files            1024                 4096                 files 

Eu encontrei o problema. O Upstart possui um bug que faz com que ele ignore os limites definidos em /etc/security/limits.conf . Esses links descrevem o bug e uma solução alternativa.

Agora, a questão é como definir um limite global de nofile, porque não desejo definir o limite de nofile em todos os scripts iniciantes de que preciso.

Obrigado.

    
por leiyonglin 04.01.2014 / 05:55

1 resposta

1

O comportamento do Upstart é como especificado e não é um bug - os serviços são limitados pela sua própria configuração e não pelos limites de segurança (que ligam processos do usuário para os quais não há outra definição) e por isso é segurança limites).

Houve algum trabalho para implementar um arquivo de padrões "configuração global" para o Upstart , mas parece ter sido negligenciada (possivelmente devido ao não comprometimento dos desenvolvedores do Upstart).

IMO sua melhor opção é criar um arquivo de substituição com apenas a diretiva limit nofile e copiá-lo para substituir todos os serviços existentes do upstart. Algo parecido com isto:

for file in /etc/init/*.conf
  do echo "limit nofile 65000 65000" > "${file%%.conf}.override"
done
    
por 29.09.2014 / 11:40