• 修改ubuntu服务器fs文件最大打开数


    起因

    在对项目进行压测的时候,请求异常 java.net.SocketException: socket closed,查看nginx代理服务器的日志。tail -f -n500 /var/log/nginx/error.log 显示 文件打开数太多socket() failed (24: Too many open files) while connecting to upstream
    在这里插入图片描述

    解决

    通过查看linux系统限制命令ulimit 命令来查看系统文件限制

    ulimit -Hn
    ulimit -Sn
    // 结果显示:1024,当前登陆用户不是root用户。
    
    • 1
    • 2
    • 3

    ulimit -Hn 是一个命令行命令,可以用来查看当前系统用户所能打开的最大文件描述符数量的硬限制。文件描述符是操作系统为了表示和操作文件而提供的一种机制,每个文件描述符都是一个非负整数,用来标识打开的文件或者管道。
    -H 参数表示显示硬限制(hard limit),即系统管理员为当前用户设置的最大限制值。-n 参数表示显示文件描述符数量。通常情况下,硬限制是软限制(soft limit)的上限,也就是可以修改的最大。
    -S 参数表示显示软限制(soft limit),即当前用户可以打开的文件描述符数量的默认值。-n 参数表示显示文件描述符数量。
    软限制是当前用户可以打开的文件描述符数量的默认值,用户可以通过 ulimit -n 命令来查看和修改软限制。通常情况下,硬限制是软限制的上限,也就是可以修改的最大值。
    如果想要修改软限制,一般可以使用 ulimit -n 命令进行修改。需要注意的是,软限制不能超过硬限制。如果软限制超过了硬限制,那么修改软限制时会失败。

    编辑文件 /etc/security/limits.conf 修改用户打开文件数上限

    * soft nofile 1048576
    * hard nofile 1048576
    
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    ⚠️ nginx服务器可以打开的文件数量受你操作系统的限制,编辑 /etc/sysctl.conf

    fs.file-max = 6553560
    
    • 1

    在这里插入图片描述
    最后 刷新文件配置

    sysctl -p
    
    • 1

    当再次通过命令 ulimit -Sn 查看用户可以打开上限时,结果就是自己修改后的值。
    ⚠️ 如果是修改前的会话窗口 查看结果依然是 1024,可以重新打开一个窗口查看。

    参考

  • 相关阅读:
    CRMEB开源商城部署在腾讯云
    数仓数据标准详解-2022
    linux运维基础2
    SpringCloud(一)--Eurea
    力扣每日一题45:跳跃游戏
    Java 抽象类与接口
    CentOS 8 的安装(清华大学开源软件镜像站、阿里云镜像、网易镜像下的安装步骤)
    js字符串的删除和修改
    JaCoCo增量覆盖率的基本实现原理
    论文解读(GCC)《GCC: Graph Contrastive Coding for Graph Neural Network Pre-Training》
  • 原文地址:https://blog.csdn.net/Small_StarOne/article/details/133746529