Respostas:
Nos kernels mais recentes (2.6.32+) no CentOS / RHEL, você pode mudar isso em tempo de execução com / proc / <pid> / limits:
cd /proc/7671/
[root@host 7671]# cat limits | grep nice
Max nice priority 0 0
[root@host 7671]# echo -n "Max nice priority=5:6" > limits
[root@host 7671]# cat limits | grep nice
Max nice priority 5 6
Conforme documentado aqui , o prlimitcomando, introduzido no util-linux 2.21, permite ler e alterar os limites dos processos em execução.
Este é um acompanhamento do gravável /proc/<pid>/limits, que não foi integrado no kernel da linha principal. Esta solução deve funcionar.
Se você ainda não possui prlimit(1), poderá encontrar o código para uma versão minimalista na página de prlimit(2)manual .
Na versão mais recente do util-linux-ng, você pode usar o comando prlimit, para obter mais informações, leia este link /superuser/404239/setting-ulimit-on-a-running-process
Você pode tentar ulimit man ulimitcom a opção -n, no entanto, a página mag não permite que a maioria dos sistemas operacionais não permita que isso seja definido.
Você pode definir um limite de descrições de arquivos para todo o sistema usando sysctl -w fs.file-max=Ne fazer as alterações persistirem após a inicialização no/etc/sysctl.conf
No entanto, eu também sugeriria examinar o processo para ver se ele realmente precisa abrir tantos arquivos em um determinado momento e se você pode fechar alguns arquivos e ser mais eficiente no processo.
ulimitnão aplica configurações aos processos em execução .