Como você inicia seu programa?
Tente envolver o código inicial do seu programa com algo parecido com isto:
/bin/bash -c "ulimit -n 4096; exec /usr/bin/node /PATH_TO/YOUR_PROGRAM.js"
Eu preciso aumentar o ulimit -n no Ubuntu 12.04. Atualmente é:
open files (-n) 1024
(1024 soft, 4096 hard)
No /etc/security/limits.conf eu tenho:
root soft nofile 10240
root hard nofile 10240
Em /etc/pam.d/login, /etc/pam.d/common-session, /etc/pam.d/common-session-noninteractive tenho
session required pam_limits.so
No entanto, ulimit -n continua sendo redefinido para 1024. Preciso aumentá-lo, pois uso o Node.js / socket.io com forever e o limite está limitando o máximo de visitantes / conexões simultâneas.
Como você inicia seu programa?
Tente envolver o código inicial do seu programa com algo parecido com isto:
/bin/bash -c "ulimit -n 4096; exec /usr/bin/node /PATH_TO/YOUR_PROGRAM.js"
Você tem algo como /etc/limits.d/*? Você tentou desligar o SELinux (se estiver ligado)?
Adicione ulimit -n 10240
a /root/.bashrc
O mesmo problema existe no Debian 8, quando eu m running Redis via the init script it came with. Lost 16 hours writing configs & rebooting trying to get past the limit of 1020 connections running as non-root. I
m vai executá-lo como root.
AFAIK o servidor apache está trabalhando desta forma: inicia como root, define os limites do processo & coloca o uid em www-data.