zoukankan      html  css  js  c++  java
  • 【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

  • 相关阅读:
    BZOJ3899 仙人掌树的同构(圆方树+哈希)
    BZOJ3590 SNOI2013Quare(状压dp)
    BZOJ2178 圆的面积并(simpson积分)
    BZOJ3724 PA2014Final Krolestwo(欧拉回路+构造)
    BZOJ3589 动态树(树链剖分+容斥原理)
    BZOJ3453 XLkxc(拉格朗日插值)
    BZOJ4650 NOI2016优秀的拆分(后缀数组)
    Luogu5058 ZJOI2004嗅探器(割点)
    shutil模块---文件,文件夹复制、删除、压缩等处理
    面向过程---通过查找字符串,找到相应的文件路径
  • 原文地址:https://www.cnblogs.com/chenpingzhao/p/13773701.html
Copyright © 2011-2022 走看看