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
posted @   China Soft  阅读(637)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
历史上的今天:
2021-03-09 ubuntu 后台运行的几种方法!
点击右上角即可分享
微信分享提示