node进程数量超出报错 EMFILE fs.watch inotify

今天测试项目发现进程只能启动120多个,再怎么启动都上不去了。。。。
检查报错发现EMFILE fs.watch inotify
百度了下资料,发现是Linux监听进程数量限制了128
项目是用pomelo框架的,reloadHandlers会监听handler文件的修改,导致了这个fs.watch这个问题
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
版权声明:若无注明,本文皆为“起点终站”原创,转载请保留文章出处。
本文地址:https://blog.hellozwh.com/?post=329
版权声明:若无注明,本文皆为“起点终站”原创,转载请保留文章出处。

