• linux /proc/sys/fs/file-nr /proc/sys/fs/file-max /etc/security/limits.conf 三者的关联


    ulimit -n 对应 /etc/security/limits.conf 文件设置
    问题: Can’t open so many files 对于linux运维的同学们,相信都遇到过这个问题。
    在Linux下一切资源皆文件,普通文件是文件,磁盘打印机是文件,socket 当然也是文件。系统默认设置成1024,但是这个数字对于服务器特别是大并发的远远是不够的,所以,我们需要结合实际情况修改成一个更大更合理的值。
    修改方法

    临时解决方案: ulimit -SHn 65535

    永久解决方案,注意,切勿设置过大,造成服务器无法启动,小于 /proc/sys/fs/file-max
    vim /etc/security/limits.conf

    # 确认包含下面的内容:
    * soft nofile 65536
    * hard nofile 65536
    保存,然后重启
    注:65536 是我这边的设定值,读者也可以自行设置一个合适的值,* 代表针对所有用户

    另外还有一个,/proc/sys/fs/file-nr,可以看到整个系统目前使用的文件句柄数量

    ulimit -u
    比如我们在模拟大规模http并发测试的时候,客户端会报一个无法fork new proc异常,原因是受到了最大进程1024的限制
    解除 Linux 系统的最大进程数
    方法如下
    vim /etc/security/limits.d/90-nproc.conf

    # 添加如下的行
    * soft nproc 102400
    root soft nproc 102400

    ulimit中硬限制是实际的限制,而软限制,是warnning限制,只会做出warning,其实ulimit命令本身就有分软硬设置,加-H就是硬,加-S就是软。
    默认显示的是软限制,如果修改的时候没有加上的话,就是两个一起改
    配置文件最前面的一位是domain,设置为星号代表全局,另外你也可以针对不同的用户做出不同的限制
    但是ulimit其实就是对单一程序的限制,进程级别的
    那系统总限制呢
    其实是在这里,/proc/sys/fs/file-max
    通过 man 5 proc 找到file-max的解释: file-max指定了系统范围内所有进程可以打开的文件句柄的数量限制。kernel-level。
    可以通过cat查看目前的值,echo来立刻修改
    echo 10000 > /proc/sys/fs/file-max
    另外还有一个,/proc/sys/fs/file-nr
    只读,可以看到整个系统目前使用的文件句柄数量
    ps :
    [root@qike ~]# cat /proc/sys/fs/file-nr
    1024 0 101269
    其中分别表示
    已分配文件句柄的数目 / 分配了但没有使用的句柄数目 / 文件句柄的最大数目
    具体解释参考http://www.dewen.io/q/14740

    http://stackoverflow.com/questions/3991223/how-does-linux-file-descriptor-limits-work

    [root@qike ~]# cat /proc/sys/fs/file-max
    101269
    可以看到file-nr的最后一项 和file-max是一致的

    参考链接 https://gitsea.com/2013/05/23/linux-ulimit%E8%AF%A6%E8%A7%A3/

    http://blog.sina.com.cn/s/blog_605f5b4f01013lad.html

  • 相关阅读:
    5. Mybatis UPDATE更新,DELETE删除
    3. Mybatis Insert
    4. selectKey语句属性配置细节
    2. Mybatis Select
    uoj#282. 长度测量鸡(构造)
    uoj#276. 【清华集训2016】汽水(分数规划+点分治)
    uoj#275. 【清华集训2016】组合数问题(数位dp)
    uoj#274. 【清华集训2016】温暖会指引我们前行(LCT)
    uoj#273. 【清华集训2016】你的生命已如风中残烛(组合数学)
    uoj#272. 【清华集训2016】石家庄的工人阶级队伍比较坚强(矩阵+三维FWT)
  • 原文地址:https://www.cnblogs.com/dantes91/p/5007778.html
Copyright © 2020-2023  润新知