Preciso reiniciar o servidor LINUX depois de alterar o pid_max?

4

Eu alterei o valor armazenado em /proc/sys/kernel/pid_max . Preciso reiniciar para que este novo valor entre em vigor?

    
por Vikas Bansal 27.09.2017 / 15:57

1 resposta

4

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 .

    
por 27.09.2017 / 16:45

Tags