1818IP-服务器技术教程,云服务器评测推荐,服务器系统排错处理,环境搭建,攻击防护等

当前位置:首页 - Linux系统 - centos - 正文

君子好学,自强不息!

CentOS7-ulimit

2023-02-25 | centos | 1818ip | 6216°c
A+ A-

简介

CentOS-7之前,改变系统的ulimit值,一般有2种方式:

  1. ulimit -SHu 65535 写入 /etc/profile或者/etc/bashrc
  2. /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.conflimits.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/

  1. /etc/security/limits.d/下文件按字母顺序加载 ↩︎

  2. 该值不能为unlimited,否则报错,且不能登录系统! ↩︎

  3. 该值必须 ≤ 内核参数fs.nr_open ↩︎

  4. http://www.jianshu.com/p/ec860e0b1c95 ↩︎

本文来源:1818IP

本文地址:https://www.1818ip.com/post/32756.html

免责声明:本文由用户上传,如有侵权请联系删除!

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。