简介
CentOS-7之前,改变系统的ulimit值,一般有2种方式:
-
ulimit -SHu 65535
写入/etc/profile
或者/etc/bashrc
-
/etc/security/limits.conf
修改此文件
但是centos-7 新增了/etc/security/limits.d/20-nproc.conf
文件[1],并且该文件会覆盖/etc/security/limits.conf
的配置参数,也就是说你如果在limits.conf
里配置的内容就不生效了,反而还会被覆盖为:
* soft nproc 4096
root soft nproc unlimited
而此时未经任何优化的centos-7的ulimit值为:
普通用户:
open files (-n) 1024
max user processes (-u) 4096
root:
open files (-n) 1024
max user processes (-u) 15659
修改普通用户和root的nofile和nproc值
- 普通用户
- nproc:65535
- nofile:65535
- root
- nproc:unlimited
- nofile:65535[4]
修改20-nproc.conf
cat > /etc/security/limits.d/20-nproc.conf <<'EOF'
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.
#nproc
* soft nproc 65535
root soft nproc unlimited
* hard nproc 65535
root hard nproc unlimited
#nofile
* soft nofile 65535
* hard nofile 65535
EOF
centos-7额外修改
在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。
# 修改systemd系统级ulimit
cat >> /etc/systemd/system.conf <<'EOF'
DefaultLimitCORE=infinity
DefaultLimitNOFILE=100000
DefaultLimitNPROC=100000
EOF
# 修改systemd用户级ulimit
cat >> /etc/systemd/user.conf <<'EOF'
DefaultLimitCORE=infinity
DefaultLimitNOFILE=100000
DefaultLimitNPROC=100000
EOF
systemctl daemon-reload
查看ulimit
ulimit -a|egrep 'open files|max user processes'
REF
- http://smilejay.com/2016/06/centos-7-systemd-conf-limits/
-
/etc/security/limits.d/
下文件按字母顺序加载 ↩︎ -
该值不能为unlimited,否则报错,且不能登录系统! ↩︎
-
该值必须 ≤ 内核参数fs.nr_open ↩︎
-
http://www.jianshu.com/p/ec860e0b1c95 ↩︎
- •VMware Workstation Pro 16安装CentOS7超详细图文步骤
- •CentOS7下配置使用JumpServer 堡垒机 (图文教程)
- •CentOS安装jdk的几种方法及配置环境变量方式
- •CentOS忘记密码修改方案以及centos卡在开机登录界面,命令失效的解决方法
- •解决笔记本安装centos7后无法调节屏幕亮度
- •VMware安装CentOS 8.1(CentOS 8系列可参考)的图文详细教程
- •CentOS7 minimal 最小化安装网络设置过程
- •CentOS7下搭建JumpServer
- •CentOS安装rpm包出现冲突时的解决办法
- •Vmware下CentOS7最小化安装方式