Se você tiver aumentado /proc/sys/kernel/pid_max
(fazendo cat 100000 > /proc/sys/kernel/pid_max
, por exemplo), esse valor entrará em vigor imediatamente, não há necessidade de reinicialização. Eu nunca tentou diminuí-lo embora (*) .
Você pode testar isso da seguinte maneira (isso é um pouco feio, não deve ser feito em uma máquina de produção):
i=0 ; while [ $i -lt 10000] ; do (echo $i > /dev/null); ((i++)); done; ps ax | grep AnythingUnlikelyToBeUsedAlready
(echo $i > /dev/null)
está lá apenas para criar um novo pid em cada iteração. 10000 foi conveniente no meu caso de teste, mas você pode ajustá-lo. Aqui, ele faz um loop na execução # 3, pois defini meu pid_max
como descrito acima:
shlublu:~$ i=0 ; while [ $i -lt 10000 ] ; do (echo $i > /dev/null); ((i++)); done; ps ax | grep AnuthingUnlikelyToBeUsedAlready
86880 pts/0 S+ 0:00 grep --color=auto AnuthingUnlikelyToBeUsedAlready
shlublu:~$ i=0 ; while [ $i -lt 10000 ] ; do (echo $i > /dev/null); ((i++)); done; ps ax | grep AnuthingUnlikelyToBeUsedAlready
96882 pts/0 S+ 0:00 grep --color=auto AnuthingUnlikelyToBeUsedAlready
shlublu:~$ i=0 ; while [ $i -lt 10000 ] ; do (echo $i > /dev/null); ((i++)); done; ps ax | grep AnuthingUnlikelyToBeUsedAlready
7246 pts/0 S+ 0:00 grep --color=auto AnuthingUnlikelyToBeUsedAlready
shlublu:~$ i=0 ; while [ $i -lt 10000 ] ; do (echo $i > /dev/null); ((i++)); done; ps ax | grep AnuthingUnlikelyToBeUsedAlready
17260 pts/0 S+ 0:00 grep --color=auto AnuthingUnlikelyToBeUsedAlready
shlublu:~$ i=0 ; while [ $i -lt 10000 ] ; do (echo $i > /dev/null); ((i++)); done; ps ax | grep AnuthingUnlikelyToBeUsedAlready
27262 pts/0 S+ 0:00 grep --color=auto AnuthingUnlikelyToBeUsedAlready
Mas se você reiniciar depois de ter feito isso, verá que /proc/sys/kernel/pid_max
será restaurado para seu valor padrão (32768 normalmente).
Para tornar sua configuração persistente nas reinicializações, você precisa editar /etc/sysctl.conf
e definir kernel.pid_max
de acordo.
Por exemplo:
kernel.pid_max = 100000
Advertência : pid_max
tem limites que dependem do seu sistema. O valor que você define deve estar dentro desses limites.
(*) mas @peterh fez e funciona obviamente, ver comentários .