• Too many open files的四种解决办法


    1. 单个进程打开文件句柄数过多
    • ulimit -a :查看单进程可以打开最大文件句柄数,子进程默认继承父进程的限制
    • cat /proc//limits:查看进程可以打开的文件句柄数
    • 修改/etc/security/limits.conf文件中nofile,通过切换用户或者重新登陆使配置生效
    • prlimit --pid ${pid} --nofile=102400:102400: 动态修改进程的打开文件句柄数限制
    1. 操作系统打开的文件句柄数过多
    • 动态修改:
    echo 100000000 > /proc/sys/fs/file-max
    
    
    • 1
    • 2
    • 永久修改:
     /etc/sysctl.conf
    
    • 1
      1. systemd对该进程进行了限制
        修改该进程的service文件
        下面添加“LimitNOFILE=655360”来实现,使用systemctl daemon-reload来使该配置生效。
      2. inotify达到上限
        notify是linux提供的一种监控机制,可以监控文件系统的变化。该机制受到2个内核参数的影响:“fs.inotify.max_user_instances”和“fs.inotify.max_user_watches”,其中“fs.inotify.max_user_instances”表示每个用户最多可以创建的inotify instances数量上限,“fs.inotify.max_user_watches”表示么个用户同时可以添加的watch数目
        当其他三种都无效,尝试这种办法。修改/etc/sysctl.conf,执行sysctl -p
  • 相关阅读:
    web攻击
    HTTP与HTTPS
    HTTP确认访问用户身份的认证
    Http协议(三)返回结果的HTTP状态码
    HTTP协议四(http首部)
    HTTP协议(二)报文信息
    HTTP协议(一)
    Windows10 如何设置软件开机自起动和关闭
    获取Chrome版本并下载匹配的chromedriver
    多线程Runnable
  • 原文地址:https://www.cnblogs.com/chinasoft/p/15983673.html
Copyright © 2020-2023  润新知