Максимальный номер PID по умолчанию — 32768. Чтобы получить эту информацию, введите:
cat /proc/sys/kernel/pid_max
32768
или
sysctl kernel.pid_max
kernel.pid_max = 32768
Теперь я хочу изменить это число... но не могу. Ну, на самом деле я могу изменить его на меньшее значение или на то же самое. Например:
linux-6eea:~ # sysctl -w kernel.pid_max=32768
kernel.pid_max = 32768
Но я не могу сделать это для значения больше 32768. Например:
linux-6eea:~ # sysctl -w kernel.pid_max=32769
error: "Invalid argument" setting key "kernel.pid_max"
Есть идеи ?
PS: Мое ядро Linux linux-6eea 3.0.101-0.35-pae #1 SMP Ср Июл 9 11:43:04 UTC 2014 (c36987d) i686 i686 i386 GNU/Linux
решение1
Значение может быть увеличено только до теоретического максимума 32768 для 32-разрядных систем или 4194304 для 64-разрядных систем.
От man 5 proc
:
/proc/sys/kernel/pid_max This file (new in Linux 2.5) specifies the value at which PIDs wrap around (i.e., the value in this file is one greater than the maximum PID). The default value for this file, 32768, results in the same range of PIDs as on earlier kernels. On 32-bit platfroms, 32768 is the maximum value for pid_max. On 64-bit systems, pid_max can be set to any value up to 2^22 (PID_MAX_LIMIT, approximately 4 million).