Nous avons récemment commencé à obtenir l'erreur suivante sur l'une de nos boîtes nginx :
2011/05/25 16:35:51 [alert] 3580#0: accept() failed (24: Too many open files)
En vérifiant le fichier /etc/security/limits.conf, nous obtenons ceci :
* soft nofile 900000
* hard nofile 900000
mais lorsque nous avons fait cat /proc/{pid}/limits, la limite de fichiers était de 1024. Lorsque nous avons redémarré nginx, le problème était résolu et /proc/{pid}/limits affichait 900000. Je pense que cela peut être dû au fait que la machine a été redémarrée et qu'au démarrage, nginx a été lancé avant que les limites ne soient appliquées. Cependant, tout ce que j'ai lu sur le fonctionnement des limites et du pam suggère que ce n'est pas vraiment ainsi que fonctionnent les ulimits. Quelqu'un sait-il ce qui se passe ici ?
Edit : Sorry, should mention os and stuff. Nous fonctionnons sous CentOS avec le noyau 2.6.18-194.26.1.el5, et nginx 1.0.1.