➜ 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 init 脚本下启动的,则必须使用 stanza limit 来控制它!
看:http://bryanmarty.com/2012/02/10/setting-nofile-limit-upstart/