Parece que el servidor está limitado a ~ 32720 sockets ... He intentado cada cambio de variable conocido para aumentar este límite. Pero el servidor permanece limitado en el socket abierto de 32720, incluso si todavía hay 4Go de memoria libre y 80% de CPU inactiva ...
Aquí está la configuración
~# 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
Alguna idea ? (Esta pregunta como se hizo en stack-overflow sin suerte hasta ahora)
linux
networking
socket
El escuadrón
fuente
fuente
Respuestas:
He encontrado lo que estaba limitando todo:
Gracias a todos los que contestaron !
fuente
Estás buscando el lugar equivocado para este; no se encuentra con un límite de usuario, se encuentra con un límite del sistema que generalmente es la 15a potencia de 2 en un sistema de 32 bits, que es lo que supongo que es su sistema. Cheque:
Pero tú también puedes cambiar eso; en una máquina de 32 bits que sería 2 ** 22 como límite superior absoluto, entonces:
Me interesaría saber cómo te va.
fuente
Si realmente está tratando de ver el número máximo de sockets con los que puede abrir conexiones, puede intentar mirar cat / proc / sys / net / ipv4 / ip_local_port_range; Este es el rango de puertos que el kernel usará para los sockets de salida, y tiene diferentes valores predeterminados en función de su distribución. Establecerlo en algo así como '1024 65535' es lo más abierto posible; A ver si eso ayuda a las cosas.
fuente
Lo siento si se dice algo similar en los hilos, pero no tengo tiempo para leerlos ahora: <
Con un primer vistazo, veo que la cantidad de sockets que menciona es aproximadamente la mitad de los procesos de usuario máximos. Como puedo suponer, tienes un proceso separado para cada socket (probablemente ejecutas un servidor o algo así)
Lo que puede hacer es verificar el número de procesos la próxima vez que alcance el límite del socket.
Solo una idea, no sé si ayuda.
fuente