Podemos configurar o ulimit no arquivo / etc / sysconfig / init para aplicar o valor no momento da inicialização

4

Eu preciso ter o valor ulimit definido no tempo de inicialização para todos os meus serviços. Eu tenho valores definidos em /etc/sysconfig/limits.conf, mas esses valores não são aplicáveis durante o tempo de inicialização e demora 1024 como padrão.

Eu configurei os valores em limits.conf, também verifiquei se /etc/pam.d/* contém "required pam_limits.so" entradas e até mesmo /etc/security/limits.d/90-nproc.conf doesn ' t tem entradas padrão.

Agora eu encontrei outra maneira de incluir o valor durante o tempo de boot, me deparei com o arquivo / etc / sysconfig / init. Quando eu defino o valor nesse arquivo, todos os serviços obtiveram o valor esperado durante o tempo de inicialização.

Agora, não tenho certeza sobre o impacto no servidor e quais coisas devem ser ignoradas configurando neste arquivo / etc / sysconfig / init. Também existe alguma alternativa além deste arquivo ou métodos mencionados acima.

    
por Sandeep Sukhija 23.04.2014 / 17:04

3 respostas

1

Os ulimits não são específicos para serviços nem para todo o sistema, são específicos para contas individuais. O limite flexível em /etc/security/limits.conf deve ser o que aparece como padrão quando você inicia o serviço; isso não parece estar acontecendo no seu caso, então eu começaria a olhar para os arquivos de ponto para o (s) usuário (s) executando o (s) serviço (s) em questão ou no script de inicialização real para o (s) serviço (s) em questão . Tenho a sensação de que seu ulimit está definido em um desses dois lugares e, portanto, sobrepondo os valores /etc/security/limits.conf .

    
por 23.04.2014 / 18:31
0

Eu usei esse método que você está falando para definir ulimit e umask para arquivos criados pelo usuário do Apache. Ou seja, eu editei /etc/init.d/httpd e incluí uma configuração umask e ulimit -s , que resolveu meu problema, então acho que é uma boa solução. Não teve nenhum impacto, exceto o esperado.

    
por 03.12.2014 / 14:05
0

O arquivo /etc/security/limits.conf é usado pelo PAM, mas o PAM é utilizado quando um usuário está efetuando login. No entanto, quando os serviços são iniciados, ele não está passando pelo PAM, e é por isso que limits.conf não ajuda. Os serviços são iniciados pelo sistema init e as configurações para eles dependem do sistema usado. Se você estiver usando o upstart, ele poderá ser definido em /etc/sysconfig/init system-wide ou em /etc/sysconfig/<servicename> per-service. No systemd world, ulimits podem ser definidos nos arquivos de serviço por usint Limit<type>= , não sei como fazer isso em todo o sistema. Com o OpenRC, você pode definir rc_ulimit= por serviço ou todo o sistema em /etc/rc.conf .

    
por 12.12.2016 / 11:34