커널 최대 PID 번호를 변경하는 방법은 무엇입니까? [복사]

커널 최대 PID 번호를 변경하는 방법은 무엇입니까? [복사]

기본 최대 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).

관련 정보