
➜ sudo sysctl -a|grep file
fs.file-max = 2037581
fs.file-nr = 2784 0 2037581
➜ ~ cat /proc/sys/fs/file-max
2037581
➜ ~ cat /proc/sys/fs/file-nr
2720 0 2037581
/etc/security/limits.conf
* hard nofile 2037581
* soft nofile 2037581
root hard nofile 2037581
root soft nofile 2037581
/etc/pam.d/su
session required pam_limits.so
/etc/pam.d/common-session
session required pam_limits.so
então reinicie.
mas ulimit -n obteve 1024 novamente.
só pode ulimit -n 4096 como valor máximo
ou tenho erro
ulimit: value exceeds hard limit
Responder1
Se você definir, root hard nofile 65535
isso alterará apenas o limite de usuários root. Se você quiser alterar outro limite de usuários, adicione o nome de usuário do usuário, por exemplo,
sharewind hard nofile 65535
Ou adicione * para nome de usuário, o que alterará o limite de todos os usuários. Mas não é recomendado.
Responder2
Descobri que se o serviço for iniciado sob um script de inicialização inicial, você deverá usar o limite de sub-rotinas para controlar isso!
Ver:http://bryanmarty.com/2012/02/10/setting-nofile-limit-upstart/