¿Cómo establecer un límite de nofile global para evitar el error "muchos archivos abiertos"?
Tengo un servicio websocket. Es una cadena que tiene el error: "demasiados archivos abiertos", pero he configurado la configuración del sistema:
/etc/security/limits.conf
* soft nofile 65000
* hard nofile 65000
/etc/sysctl.conf
net.ipv4.ip_local_port_range = 1024 65000
ulimit -n
//output 6500
Así que creo que mi sistema configura es correcto.
Mi servicio es gestionado por supervisor, ¿es posible límites de supervisor?
proceso de verificación inicio por supervisor:
cat /proc/815/limits
Max open files 1024 4096 files
Comprobar proceso de inicio manual:
cat /proc/900/limits
Max open files 65000 65000 files
El motivo se utiliza supervisor de gestión de servicios. si reinicio el supervisor y reinicio el proceso secundario, es "máximo abrir archivos", está bien (65000) pero está mal (1024) cuando se inicia automáticamente el reinicio del sistema.
¿Puede ser que el nivel de inicio del supervisor sea demasiado alto y la configuración del sistema no funcione cuando se inicie el supervisor?
editar:
sistema: ubuntu 12.04 64bit
No es un problema del supervisor, todos los procesos se inician automáticamente después de reiniciar el sistema, no se usa la configuración del sistema (archivos abiertos máximos = 1024), pero reinicie está bien.
actualizar
Tal vez el problema sea:
https://bugs.launchpad.net/ubuntu/+source/upstart/+bug/938669http://bryanmarty.com/blog/2012/02/10/setting-nofile-limit-upstart/Aumente el máximo de archivos abiertos para Ubuntu / Upstart (initctl)Ahora la pregunta es, cómo establecer un límite global de nofile porque no quiero establecer el límite de nofile en cada secuencia de comandos inicial que necesito.