• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    如何解决Linux下Too many open files问题

    引起的原因就是进程在某个时刻打开了超过系统限制的文件数量以及通讯链接数。 通过命令ulimit -a可以查看当前系统设置的最大句柄数是多少

    core file size          (blocks, -c) 0

    data seg size           (kbytes, -d) unlimited

    scheduling priority             (-e) 0

    file size               (blocks, -f) unlimited

    pending signals                 (-i) 31767

    max locked memory       (kbytes, -l) 64

    max memory size         (kbytes, -m) unlimited

    open files                      (-n) 1024

    pipe size            (512 bytes, -p) 8

    POSIX message queues     (bytes, -q) 819200

    real-time priority              (-r) 0

    stack size              (kbytes, -s) 8192

    cpu time               (seconds, -t) unlimited

    max user processes              (-u) 31767

    virtual memory          (kbytes, -v) unlimited

    file locks                      (-x) unlimited

    可以看到,open files的配置是1024,可以通过如下命令将open files增加

    ulimit -n 65535

    这种修改方式可以临时把文件打开数量增加到65535,但是系统重启后这个配置会失效。

    还有一种方式是修改系统的配置文件,以Ubuntu为例,配置文件默认在

    /etc/security/limits.conf

    在这个配置文件中增加

    * soft nofile 65535* hard nofile 6553

    如果要查看某个进程目前打开的句柄数量,可以通过如下命令:

    lsof -p 进程ID|wc -l

    此外,如果用supervisor托管和启动项目,会遇到这个配置无法生效的问题,原因在于supervisor会默认配置打开的句柄数量是1024,

    如果要查看某个进程最大open files,可以通过这个进程的进程号对应的limits查看

    cat /proc/进程ID/limits

    其中有一行是:

    Max open files10241024bytes

    supervisor托管的程序这一行默认都是supervisor配置的最大数量1024,这时需要手动改一下supervisor的配置文件,修改方式如下,以Ubuntu系统为例,找到supervisor的配置文件supervisord.conf

    在[supervisord]选项中,增加minfds选项的配置

    [supervisord]minfds=65535 ; min. avail startup file descriptors; default 1024

    配置完毕后,需要重启supervisor(以systemctl为例)

    systemctl restart supervisor

    即可生效

    在通过:

    cat /proc/进程号/limits

    查看下对应进程的可open files的数量

    Max open files6553565535bytes

    以上就是如何解决Linux下Too many open files问题的详细内容,更多关于解决Linux下Too many open files问题的资料请关注脚本之家其它相关文章!

    上一篇:nginx+lua单机上万并发的实现
    下一篇:VMware ESXi安装使用记录(附下载)
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    如何解决Linux下Too many open files问题 如何,解决,Linux,下,Too,many,