에 저장된 값을 변경했습니다 /proc/sys/kernel/pid_max
. 이 새 값을 적용하려면 재부팅해야 합니까?
답변1
당신이 증가하면/proc/sys/kernel/pid_max
(예를 들어 cat 100000 > /proc/sys/kernel/pid_max
) 이 값은 즉시 적용됩니다.다시 시작할 필요가 없습니다.그러나 나는 그것을 줄이려고 시도한 적이 없습니다 (*) .
이를 테스트할 수 있습니다(이것은 약간 보기 흉하므로 프로덕션 시스템에서는 수행하지 마십시오).
i=0 ; while [ $i -lt 10000] ; do (echo $i > /dev/null); ((i++)); done; ps ax | grep AnythingUnlikelyToBeUsedAlready
(echo $i > /dev/null)
각 반복마다 새로운 PID를 생성하십시오. 내 테스트 케이스에서는 10000이 편리하지만 조정할 수 있습니다. 이전에 설정한 대로 실행 #3에서 반복됩니다 pid_max
.
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
그러나 이 작업을 수행한 후 재부팅하면 /proc/sys/kernel/pid_max
기본값으로 되돌아간 것을 볼 수 있습니다.(보통 32768).
재부팅 후에도 설정이 유지되도록 하려면 적절하게 편집 /etc/sysctl.conf
하고 설정 해야 합니다 kernel.pid_max
.
예를 들어:
kernel.pid_max = 100000
경고하다:pid_max
경계가 있다이는 시스템에 따라 다릅니다. 정의하는 값은 이러한 제한 내에 있어야 합니다.
(*) 하지만@베드로했더니 효과가 확연히 나더라구요댓글 읽기.