Linux中soft nproc 、soft nofile和hard nproc以及hard nofile配置

"soft" 和 "hard" 的区别
soft xxx : 代表警告的设定,可以超过这个设定值,但是超过后会有警告。

hard xxx : 代表严格的设定,不允许超过这个设定的值。
如:soft 设为1024,hard设为2048 ,则当你使用数在1~1024之间时可以随便使用,1024~2048时会出现警告信息,大于2048时,就会报错。

"nproc" 和 "nofile"的区别
nproc : 是操作系统级别对每个用户创建的进程数的限制

nofile : 是每个进程可以打开的文件数的限制
修改系统的配置
打开/etc/security/limits.conf (部分的系统是在/etc/security/limits.d/90-nproc.conf)

 

设置限制数量,第一列表示用户,* 表示所有用户

soft nproc :单个用户可用的最大进程数量(超过会警告);
hard nproc:单个用户可用的最大进程数量(超过会报错);
soft nofile :可打开的文件描述符的最大数(超过会警告);
hard nofile :可打开的文件描述符的最大数(超过会报错);

重启后生效
reboot
注:①一般soft的值会比hard小,也可相等。

②/etc/security/limits.d/里面配置会覆盖/etc/security/limits.conf的配置

③只有root用户才有权限修改/etc/security/limits.conf

④如果limits.conf没有做设定,则默认值是1024

 

file-max是内核可分配的最大文件数,nr_open是单个进程可分配的最大文件数,所以在我们使用ulimit或limits.conf来设置时,如果要超过默认的1048576值时需要先增大nr_open值(sysctl -w fs.nr_open=100000000或者直接写入sysctl.conf文件)。当然百万级别的单进程最大file-handle打开数应该也够用了吧。。

所有进程打开的文件描述符数不能超过/proc/sys/fs/file-max

单个进程打开的文件描述符数不能超过user limit中nofile的soft limit

nofile的soft limit不能超过其hard limit

nofile的hard limit不能超过/proc/sys/fs/nr_open


————————————————
版权声明:本文为CSDN博主「zxl技术博客」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zxljsbk/article/details/89153690

posted @ 2021-09-30 14:51  老头还我葵花宝典  阅读(1192)  评论(0编辑  收藏  举报