Você normalmente definiria o ulimit no usuário que o serviço executa como algo como /etc/security/limits.conf
.
Por exemplo, se o serviço da Web estiver sendo executado como www-data
, você adicionará uma entrada para www-data
a /etc/security/limits.conf
definindo os limites relevantes.
Se o processo for executado como root
, será mais complicado, pois os limites em /etc/security/limits.conf
serão aplicados a todos os processos root
.
Um problema com a definição dos limites em /etc/security/limits.conf
é que ele depende dos processos que passam pela pilha do PAM.
No caso de serviços e daemons que não fazem isso, então sim, modificar os scripts de serviço relevantes é uma abordagem aceitável. Provavelmente, é necessário fazer isso em uma base por processo e, dependendo da sua distribuição, os scripts de início de serviço geralmente são gerenciados por pacote, o que significa que você obterá conflitos sempre que atualizar.