Linux에서 최대 소켓 수


12

서버가 ~ 32720 소켓으로 제한되어있는 것 같습니다 ...이 제한을 높이기 위해 알려진 모든 변수 변경을 시도했습니다. 그러나 여전히 사용 가능한 메모리의 4Go와 유휴 CPU의 80 %가 있어도 서버는 32720 열린 소켓으로 제한됩니다.

구성은 다음과 같습니다

~# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 63931
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 798621
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 2048
cpu time               (seconds, -t) unlimited
max user processes              (-u) 63931
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

net.netfilter.nf_conntrack_max = 999999
net.ipv4.netfilter.ip_conntrack_max = 999999
net.nf_conntrack_max = 999999

이견있는 사람 ? (지금까지 운이없는 스택 오버플로에서 요청 된이 질문)


serverfault.com/questions/10852/… 좋은 데이터가 있습니다
sysadmin1138


나는 운이없이 게시하기 전에 그 스레드를 확인했다
TheSquad

답변:



2

당신은 이것에 대한 잘못된 장소를 찾고 있습니다; 당신은 사용자 한계에 빠지지 않고, 32 비트 시스템에서 일반적으로 2의 15 제곱 인 시스템 한계에 빠지고 있습니다. 검사:

 % cat /proc/sys/kernel/pid_max 
 32768
 %

하지만 당신은 할 수 있습니다 이 너무 변경; 절대 상한으로 2 ** 22 인 32 비트 시스템에서,

% sudo bash -c 'echo 4194303 > /proc/sys/kernel/pid_max'
%

네가 어떻게 가는지 알고 싶어


pid_max는 이미 999999입니다
TheSquad

1

실제로 연결할 수있는 최대 소켓 수를 찾으려면 cat / proc / sys / net / ipv4 / ip_local_port_range; 이것은 커널이 아웃 바운드 소켓에 사용할 포트 범위이며 배포에 따라 다른 기본값을 갖습니다. '1024 65535'와 같은 것으로 설정하면 최대한 넓게 열 수 있습니다. 그것이 도움이되는지보십시오.


ip_local_port_range는 이미 1024 65535입니다.
TheSquad

0

스레드에서 비슷한 말이 나오면 죄송하지만 지금 읽을 시간이 없습니다. <

첫 번째 모습으로 언급 한 소켓 수가 최대 사용자 프로세스의 절반 정도임을 알 수 있습니다. 모든 소켓에 대해 별도의 프로세스가 있다고 생각할 수 있습니다 (아마도 서버 또는 이와 유사한 것을 실행하십시오)

다음에 소켓 한계에 도달 할 때 프로세스 수를 확인하는 것이 가능합니다.

그냥 아이디어, 그것이 도움이되는지 모르겠습니다.


아니, 그렇지 않다 : # ps -ef | grep -c 'root'= 147
TheSquad

그것은 통제 된 환경에서인가? 몇 가지 점검을 할 수 있습니까? 예를 들어, 요청마다 몇 개의 프로세스가 작성됩니까? 또한 서버의 우선 순위는 무엇입니까? 당신이 renice 경우 그것은 뭔가를 변경합니까? 그렇지 않다면 프로세스 한계 또는 프로세스 내부의 스레드 한계에 도달 할 것입니다.>
Nikolaidis Fotis
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.