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 ↩︎

  • 相关阅读:
    angular 中如何使用自定义组件
    angular组件数据和事件
    angular组件数据
    angular绑定数据
    angular自定义组件
    angular项目目录结构分析
    Angular 开发工具介绍
    从Microsoft.AspNet.Identity看微软推荐的一种MVC的分层架构
    EF How to use context.Set and context.Entry, which ships with EF4.1 ?
    C# 向IQueryable添加一个Include扩展方法
  • 原文地址:https://www.cnblogs.com/CoolMark-blog/p/12318850.html
Copyright © 2011-2022 走看看