1.root用户下执行 ulimit -a 然后查看 max user processes 这个值通常是系统最大线程数的一半
max user processes:当前用户同时打开的进程(包括线程)的最大个数为
2.普通用户下 ulimit -a 出现的max user processes的值 默认是 /etc/security/limits.d/20-nproc.conf文件中的设置值
注:
soft nproc :单个用户可用的最大进程数量(超过会警告);
hard nproc:单个用户可用的最大进程数量(超过会报错);
soft nofile :可打开的文件描述符的最大数(超过会警告);
hard nofile :可打开的文件描述符的最大数(超过会报错);
一般soft的值会比hard小,也可相等。
/etc/security/limits.d/里面配置会覆盖/etc/security/limits.conf的配置。
只有root用户才有权限修改/etc/security/limits.conf。
如果limits.conf没有做设定,则默认值是1024。
3. 对于cat /etc/pid/limits中Max open files的修改
我们可以从system.conf修改或者在service文件里限制,只对此服务生效,我们这里以nginx服务为例
3.1 修改system.conf配置文件
其中DefaultLimitNOFILE为设置每个进程可以打开的文件描述符的数量上限
DefaultLimitNPROC为设置用户可以拥有的进程的数量上限
重启服务器以及nginx服务后再次查询
3.2 修改service文件
如果有修改需求建议用第二种,另外
/etc/security/limits.conf的配置,只适用于通过PAM认证登录用户的资源限制,它对systemd的service的资源限制不生效
对于systemd service的资源设置,则需修改全局配置,全局配置文件放在/etc/systemd/system.conf和/etc/systemd/user.conf,同时也会加载两个对应目录中的所有.conf文件/etc/systemd/system.conf.d/.conf和/etc/systemd/user.conf.d/.conf。