这里是conf文件和细节,无论我做了什么,软打开文件不会超过1024。
cat /etc/安全/限制
*软网络65535
*硬nproc 65535
*软nofile 65535
*硬文件65535
cat /etc/security/limits.d.d/90-nproc.conf
*软网络65535
*硬nproc 65535
*软nofile 65535
*硬文件65535
root@server ~# ulimit -n
65535
cat /etc/sysctl.conf
fs.file-max = 65535
cat /proc/1/限值
最大打开文件1024 4096
它在运行ulimit -n时显示了正确的限制,但是当您检查cat /proc/1/limits时,它显示了1024,服务器上的所有程序都有1024 openfile限制,它们都在根用户下运行。
发布于 2016-02-06 00:59:53
您正在更改的限制只会影响登录用户,因为这些限制是由PAM作为登录过程的一部分实现的。它们对以其他方式启动的进程没有任何影响,例如直接通过systemd或init启动。
如果要更改由用户登录以外的其他内容启动的进程的限制,则需要在该进程本身中进行。具有根权限的进程可以任意更改其限制。
# cat /proc/self/limits | grep -i open
Max open files 1024 1024 files
# ulimit -Hn 8192
# ulimit -n 8192
# cat /proc/self/limits | grep -i open
Max open files 8192 8192 files
# ulimit -Hn 65536
# ulimit -n 65536
# cat /proc/self/limits | grep -i open
Max open files 65536 65536 files发布于 2016-02-06 01:01:53
在*中使用limits.conf只适用于除根用户以外的所有用户。
如果您想对根用户设置限制,则必须指定root而不是(或除*之外)。
示例:
root soft nproc 65535
root hard nproc 65535
root soft nofile 65535
root hard nofile 65535或者,您可以手动更改脚本中的限制,就像另一个答案中提到的那样。
这假设您的应用程序使用pam。如果没有,则必须在脚本中设置限制。
https://serverfault.com/questions/754382
复制相似问题