一、实验环境
操作系统: CentOS7.5 Minimal
操作系统超级用户:root
操作系统普通用户:Michael
二、设置root用户的 max nopfile、max noproc
root用户的max nopfile 设置
# sed -i "/nofile/d" /etc/security/limits.conf
# echo "root soft nofile 65535" >> /etc/security/limits.conf
# echo "root hard nofile 65535" >> /etc/security/limits.conf
root用户的max noproc 设置
# sed -i "/noproc/d" /etc/security/limits.conf
# echo "root soft nproc 65535" >> /etc/security/limits.conf
# echo "root hard nproc 65535" >> /etc/security/limits.conf
# tail -f /etc/security/limits.conf
重启服务器
# reboot
查看设置效果
# ulimit -a
# ulimit -n
# ulimit -u
三、、设置普通用户Michael的max nopfile、max noproc
Michael用户的max nopfile 设置
# echo "Michael soft nofile 65535" >> /etc/security/limits.conf
# echo "Michael hard nofile 65535" >> /etc/security/limits.conf
Michael 用户的max noproc 设置
# echo "Michael soft nproc 65535" >> /etc/security/limits.d/20-nproc.conf
# echo "Michael hard nproc 65535" >> /etc/security/limits.d/20-nproc.conf
重启服务器
# reboot
查看root用户 max nopfile、max noproc
# ulimit -a
查看Michael用户 max nopfile、max noproc
# su - Michael
# ulimit -a
四、CentOS 7.x设置守护进程的文件数量限制
在CentOS 7/RHEL 7的系统中,使用Systemd替代了之前的SysV,因此/etc/security/limits.conf 文件的配置作用域缩小了一些。
limits.conf这里的配置,只适用于通过PAM认证登录用户的资源限制,它对systemd的service的资源限制不生效。
登录用户的限制,与上面讲的一样,通过/etc/security/limits.conf和 limits.d来配置即可。
对于systemd service的资源限制,如何配置呢?
全局的配置,放在文件/etc/systemd/system.conf和/etc/systemd/user.conf。 同时,也会加载两个对应的目录中的所有.conf文件/etc/systemd/system.conf.d/*.conf和/etc/systemd/user.conf.d/*.conf
其中,system.conf是系统实例使用的,user.conf用户实例使用的。
一般的sevice,使用system.conf中的配置即可,systemd.conf.d/*.conf中配置会覆盖system.conf。
五、参考
ulimit命令
http://man.linuxde.net/ulimit
https://www.cnblogs.com/pangguoping/p/5792075.html
How to set ulimit values
https://access.redhat.com/solutions/61334
How to Set Limits on User Running Processes in Linux
https://www.tecmint.com/set-limits-on-user-processes-using-ulimit-in-linux
CentOS/RHEL 7 系统中设置systemd service的ulimit资源限制
http://smilejay.com/2016/06/centos-7-systemd-conf-limits
关于 CentOS 7 里面 普通用户 Ulimit max user processes 值的问题
https://cloud.tencent.com/info/95ce4e180b83c4973cc70d0b0f703d12.html
Linux中最大进程数和最大文件数
https://www.cnblogs.com/lxyit/p/9204521.html
ulimit限制之nproc问题
http://www.linuxde.net/2013/03/13045.html
ulimit命令详解
https://juejin.im/entry/5b57effce51d45190f4acb43
通过 ulimit 改善系统性能
https://www.ibm.com/developerworks/cn/linux/l-cn-ulimit/index.html
CentOS 7.x设置守护进程的文件数量限制
https://blog.csdn.net/gzliudan/article/details/51754701