Il semble que le serveur soit limité à environ 32720 sockets ... J'ai essayé chaque changement de variable connu pour augmenter cette limite. Mais le serveur reste limité à 32720 socket ouvert, même s'il reste 4Go de mémoire libre et 80% de CPU inactif ...
Voici la configuration
~# 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
Des pensées ? (Cette question a été posée sur stack-overflow sans succès jusqu'à présent)
linux
networking
socket
L'escouade
la source
la source
Réponses:
J'ai trouvé ce qui limitait tout:
Merci à tous ceux qui ont répondu!
la source
Vous cherchez au mauvais endroit pour celui-ci; vous ne rencontrez pas de limite d'utilisateur, vous rencontrez une limite de système qui est généralement la 15e puissance de 2 sur un système 32 bits, ce que je suppose que votre système est. Vérifier:
Mais vous pouvez aussi changer cela; sur une machine 32 bits qui serait 2 ** 22 comme limite supérieure absolue, donc:
J'aimerais savoir comment vous allez.
la source
Si vous essayez en fait de regarder le nombre maximum de sockets avec lesquels vous pouvez ouvrir des connexions, vous pouvez essayer de regarder cat / proc / sys / net / ipv4 / ip_local_port_range; il s'agit de la plage de ports que le noyau utilisera pour les sockets sortants, et il a des valeurs par défaut différentes en fonction de votre distribution. Le définir sur quelque chose comme «1024 65535» est à peu près aussi ouvert que possible; voir si cela aide les choses.
la source
Je suis désolé si quelque chose de similaire est dit dans les discussions, mais je n'ai pas le temps de les lire maintenant: <
Avec un premier regard, je vois que le nombre de sockets que vous mentionnez est environ la moitié du nombre maximum de processus utilisateur. Comme je peux deviner que vous avez un processus séparé pour chaque socket (vous exécutez probablement un serveur ou quelque chose comme ça)
Ce que vous pourriez faire est de vérifier le nombre de processus la prochaine fois que vous atteindrez la limite du socket.
Juste une idée, je ne sais pas si ça aide.
la source