기본 최대 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"
어떤 아이디어가 있나요?
추신: 내 커널은 Linux linux-6eea 3.0.101-0.35-pae #1 SMP Wed Jul 9 11:43:04 UTC 2014 (c36987d) i686 i686 i386 GNU/Linux입니다.
답변1
이 값은 32비트 시스템의 경우 이론적 최대값인 32768까지, 64비트 시스템의 경우 4194304까지만 확장됩니다.
에서 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).