node进程数量超出报错 EMFILE fs.watch inotify - 起点终站

我们应该感谢相遇,无论结局是喜是悲....
node进程数量超出报错 EMFILE fs.watch inotify
  • 首页 > IT技术
  • 作者:起点终站
  • 2017年8月29日 19:55 星期二
  • 浏览:18773
  • 字号:
  • 评论:0
  • 今天测试项目发现进程只能启动120多个,再怎么启动都上不去了。。。。

    检查报错发现EMFILE fs.watch  inotify

    1.jpg


    百度了下资料,发现是Linux监听进程数量限制了128

    项目是用pomelo框架的,reloadHandlers会监听handler文件的修改,导致了这个fs.watch这个问题

    1.jpg

    inotify是linux文件系统事件监控机制,功能强大,控制简单,可以实现很多有用的功能。如:当一个文件被访问、打开、关闭、移动、删除等等时做一些处理。此功能需要内核支持,从kernel 2.6.13开始正式并入内核,RHEL5已经支持。


    在/proc/sys/fs/inotify目录下有三个文件,对inotify机制有一定的限制
    max_user_watches:设置inotifywait或inotifywatch命令可以监视的文件数量(单进程)。
    max_user_instances:设置每个用户可以运行的inotifywait或inotifywatch命令的进程数。
    max_queued_events:设置inotify实例事件(event)队列可容纳的事件数量。

    查询命令如下

    sysctl -a | grep fs.inotify

    可根据实际使用情况更改,命令如下

    echo 16384 > /proc/sys/fs/inotify/max_queued_events
    echo 256 > /proc/sys/fs/inotify/max_user_instances
    echo 8192 > /proc/sys/fs/inotify/max_user_watches




      您阅读这篇文章共花了:  
    本文作者:起点终站      文章标题: node进程数量超出报错 EMFILE fs.watch inotify
    本文地址:https://blog.hellozwh.com/?post=329
    版权声明:若无注明,本文皆为“起点终站”原创,转载请保留文章出处。
    • blogger
    返回顶部| 首页| 手气不错| 网站地图| sitemap| 装逼生成器| 站长介绍|

    Copyright © 2016-2019 起点终站 闽ICP备16011094号-1