zoukankan      html  css  js  c++  java
  • CentOS7-ulimit

    CentOS7-ulimit

    简介

    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

    修改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


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

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

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

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

  • 相关阅读:
    LeetCode 1275. 找出井字棋的获胜者 Find Winner on a Tic Tac Toe Game
    LeetCode 307. 区域和检索
    LeetCode 1271 十六进制魔术数字 Hexspeak
    秋实大哥与花 线段树模板
    AcWing 835. Trie字符串统计
    Leetcode 216. 组合总和 III
    Mybatis 示例之 复杂(complex)属性(property)
    Mybatis 示例之 复杂(complex)属性(property)
    Mybatis 高级结果映射 ResultMap Association Collection
    Mybatis 高级结果映射 ResultMap Association Collection
  • 原文地址:https://www.cnblogs.com/CoolMark-blog/p/12318850.html
Copyright © 2011-2022 走看看