
➜ 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
затем перезагрузите.
но ulimit -n снова получил 1024.
можно использовать только ulimit -n 4096 как максимальное значение
или получил ошибку
ulimit: value exceeds hard limit
решение1
Если вы установите, root hard nofile 65535
это изменит только ограничение пользователей root. Если вы хотите изменить ограничение других пользователей, добавьте имя пользователя, например,
sharewind hard nofile 65535
Или добавьте * для имени пользователя, что изменит лимит всех пользователей. Но это не рекомендуется.
решение2
Я обнаружил, что если служба запущена с помощью сценария инициализации upstart, то для управления этим необходимо использовать ограничение на количество строк!
Видеть:http://bryanmarty.com/2012/02/10/setting-nofile-limit-upstart/