码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Linux基础篇-文件句柄数修改


    目录

    • 文件句柄数修改
      • 修改最大限制
        • 用户级的修改
        • 系统级的修改

    文件句柄数修改

    linux最大打开文件句柄数,即打开文件数最大限制,就是规定的单个进程能够打开的最大文件句柄数量(Socket连接也算在里面,默认大小1024)

    liunx中文件句柄有两个限制,一种是用户级的,一种是系统级的(也叫内核级)

    • 系统级的最大限制:
      cat /proc/sys/fs/file-max

    • 用户级的最大限制
      ulimit -n(默认是1024,像阿里云华为云这种云主机一般是65535)
       请添加图片描述

      附ulimit 参数说明:
       请添加图片描述

      查看某个进程的最大打开文件数和当前打开文件数
      先找到该进程的进程号,然后查看/proc/[pid]/limits和fd

    /proc/[pid]/limits 显示当前进程的资源限制

    /proc/[pid]/fd 是一个目录,包含进程打开文件的情况

    ps:如果要查看某个进程的线程的详细信息,/proc/[pid]/task
    查看当前系统打开的文件总数:
    lsof |wc -l
    查看某个进程打开的文件数:
    lsof -p pid |wc -l

    修改最大限制

    用户级的修改

    • 用户级修改临时生效方法:(重启后失效)
    ulimit -SHn 10000
    

    ulimit 命令分软限制和硬限制,加-H就是硬限制,加-S就是软限制。默认显示的是软限制,如果运行ulimit 命令修改时没有加上-H或-S,就是两个参数一起改变。硬限制就是实际的限制,而软限制是警告限制,它只会给出警告。

    • 用户级修改永久有效方式:
    vi /etc/security/limits.conf
    
    修改配置文件/etc/security/limits.conf,加入:
    * soft nofile 65535
    * hard nofile 65535
    echo "* soft nofile 65535" >> /etc/security/limits.conf
    echo "* hard nofile 65535" >> /etc/security/limits.conf
    * 表示所用的用户,但有的系统不认, 需要具体的用户名, 比如:
    root soft nofile 65535
    root hard nofile 65535
    12345678
    

    重新登录验证,或许reboot后验证。

    系统级的修改

    其实上面的修改都是对一个进程打开的文件句柄数量的限制,我们还需要设置系统的总限制才可以。

    假如,我们设置进程打开的文件句柄数是1024 ,但是系统总限制才500,所以所有进程最多能打开文件句柄数量500。从这里我们可以看出只设置进程的打开文件句柄的数量是不行的。所以需要修改系统的总限制才可以。

    • 系统级修改临时生效方式:
    echo  655350 > /proc/sys/fs/file-max
    
    • 系统级修改永久生效方式:
    vi /etc/sysctl.conf
    

    加入

    fs.file-max=655350
    

    系统级永久生效方式修改后,重启服务器,才能生效。

    查看系统级文件句柄修改,是否生效

    sysctl -p
    
  • 相关阅读:
    浅谈AI人体姿态识别技术的先进性及安防视频监控应用场景
    【2012】【论文笔记】超材料的二维等价物——GSTC
    小程序发成绩
    设计模式-原型模式
    基于主要成分分析的人脸二维码识别系统-含Matlab代码
    vue项目vant sku组建满足自定义展示
    这可能是最全面的TCP面试八股文了
    [含文档+PPT+源码等]精品基于Uniapp+SSM实现的安卓的掌上校园系统[包运行成功]计算机毕业设计Android项目源码
    算法题--从尾到头打印链表
    企业信息化建设该如何评估自己ERP、MES、APS需求
  • 原文地址:https://blog.csdn.net/qq_52494169/article/details/140105271
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号