• 【Linux】一些文件限制配置


    linux资源限制配置文件是/etc/security/limits.conf;限制用户进程的数量对于linux系统的稳定性非常重要。 limits.conf文件限制着用户可以使用的最大文件数,最大线程,最大内存等资源使用量。

    /etc/security/limits.conf 配置文件可限制文件打开数,系统进程等资源,在该文件配置中写的最大用户进程数是受/etc/security/limits.d/90-nproc.conf配置上限影响的。一般系统普通用户进程数满了都是修改/etc/security/limits.d/90-nproc.conf文件

    * soft nofile 655350  #任何用户可以打开的最大的文件描述符数量,默认1024,这里的数值会限制tcp连接
    * hard nofile 655350
    * soft nproc  655350  #任何用户可以打开的最大进程数
    * hard nproc  650000
    
    @student hard nofile 65535
    @student soft nofile 4096
    @student hard nproc 50  #学生组中的任何人不能拥有超过50个进程,并且会在拥有30个进程时发出警告
    @student soft nproc 30

    hard和soft两个值都代表什么意思呢? soft是一个警告值,而hard则是一个真正意义的阀值,超过就会报错

    一、所有用户创建的进程数

    [root@os~]# ps h -Led -o user | sort | uniq -c | sort -n
          1 chrony
          1 dbus
          2 chenpz
          7 polkitd
        105 www
        156 root

    二、系统最大打开文件描述符数

    1、查看

    [root@os~]# cat /proc/sys/fs/file-max
    6815744

    2、配置

    [root@os~]# cat /etc/sysctl.conf  |grep file-max
    fs.file-max = 6815744

    三、进程最大打开文件描述符数

    查看soft limit

    [root@os ~]# ulimit -n
    65535 

    查看hard limit

    [root@os ~]# ulimit -Hn
    65535
    • 临时设置
    通过ulimit -Sn设置最大打开文件描述符数的soft limit,注意soft limit必须小于hard limit
    ulimit -Sn 160000 
    同时设置soft limit和hard limit。对于非root用户只能设置比原来小的hard limit。 
    ulimit -n 180000
    • 永久设置
    root权限下,在/etc/security/limits.conf中添加如下两行,表示所有用户最大打开文件描述符数的soft limit为102400,hard limit为104800。重启生效
    * soft nofile 102400
    * hard nofile 104800

    注意:设置nofile的hard limit还有一点要注意的就是hard limit不能大于/proc/sys/fs/nr_open,假如hard limit大于nr_open,注销后将无法正常登录。

    四、查看当前系统使用的打开文件描述符数

    [root@os ~]# cat /proc/sys/fs/file-nr
    7584    0       6815744

    其中第一个数表示当前系统已分配使用的打开文件描述符数,第二个数为分配后已释放的(目前已不再使用),第三个数等于file-max。

    五、知道了/etc/security/limits.conf中的参数含义之后,那么如何配置nofile,确定nofile的最大值呢。

    使用ulimt -n命令进行测试,如果小于系统允许的最大值,设置成功,大于最大值,系统会报错提示。

    六、ulimit -a/n/H/S 都有什么含义

    ulimit -a 显示当前所有的资源限制 ulimit -H 设置硬件资源限制 ulimit -S 设置软件资源限制 ulimit -n 设置进程最大打开文件描述符数

    ulimit -u <程序数目>  用户最多可开启的程序数目

    七、使用 ps 命令查看进程启动的精确时间和启动后所流逝的时间

    [root@os ~]# ps -eo pid,lstart,etime,cmd | grep nginx
     1334 Tue Sep 29 17:45:02 2020  6-22:28:14 nginx: master process /usr/local/openresty/nginx/sbin/nginx -c /etc/nginx/nginx.conf
     1335 Tue Sep 29 17:45:02 2020  6-22:28:14 nginx: worker process
     1336 Tue Sep 29 17:45:02 2020  6-22:28:14 nginx: worker process
     1337 Tue Sep 29 17:45:02 2020  6-22:28:14 nginx: worker process
     1338 Tue Sep 29 17:45:02 2020  6-22:28:14 nginx: worker process
     1339 Tue Sep 29 17:45:02 2020  6-22:28:14 nginx: cache manager process

    总结

    a. 所有进程打开的文件描述符数不能超过/proc/sys/fs/file-max

    b. 单个进程打开的文件描述符数不能超过user limit中nofile的soft limit c. nofile的soft limit不能超过其hard limit d. nofile的hard limit不能超过/proc/sys/fs/nr_open

  • 相关阅读:
    PHP 大小写转换、首字母大写、每个单词首字母大写转换相关函数
    【论文学习4】BiSample: Bidirectional Sampling for Handling Missing Data with Local Differential Privacy
    【论文学习3】Local Differential Privacy for Deep Learning
    【论文学习2】 Differential Privacy Reinforcement Learning
    深度学习中的优化算法
    Spatial crowdsourcing
    “pip install tensorflow ”出现错误
    python或pip'不是内部或外部命令”
    pip install torch出现错误
    打不开gitHub的解决方法
  • 原文地址:https://www.cnblogs.com/chenpingzhao/p/13773701.html
Copyright © 2020-2023  润新知