Não é possível dizer quantas vezes a quebra pid_max
ocorreu. Uma solução alternativa para não encontrar o agrupamento pid_max
é aumentar o valor pid_max
dentro,
cat /proc/sys/kernel/pid_max
O comando acima permitirá que você saiba o máximo de processos disponíveis em seu sistema. Você pode aumentar o valor max_pid como,
echo 4194303 > /proc/sys/kernel/pid_max
ou até mesmo,
sysctl -w kernel.pid_max=4194303
No entanto, você precisa investigar se existem alguns processos que estão atualmente utilizando a memória.
Você pode executar ps -A
ou ps -e
para ver quais processos estão atualmente utilizando a memória do seu sistema.
Por que não é possível determinar o envoltório?
De esta resposta,
Most systems simply keep a count of the last PID generated, add one (wrapping at a maximum number such as 65535 or a bit smaller - often the wrap occurs at 65000 or even 60000), and check that the number is not currently in use (repeating if the PID is still in use - so PID 1, the kernel, is still there and doesn't get 'reissued').
Other security minded systems generate a number at random and check that it is not in use.
At any given time, it is guaranteed that all PID numbers are unique.
Portanto, mesmo que pid_max
seja alcançado, você ainda pode ter alguns pids que não estão sendo usados no momento e, portanto, o sistema ainda pode usar esses pids. De acordo com o que eu sei, a única vez que você pode saber que você está sem pids é quando você encontra um erro como este comentário diz,
If you have processes > pid_max, you get error message like "No more processes...