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 prlimit
comando, 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 ulimit
com 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=N
e 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.
ulimit
não aplica configurações aos processos em execução .