添加node_modules /甚至是高限制时出现EMFILE错误

时间:2014-06-12 17:41:06

标签: linux web npm inotify

每当我将node_modules /文件夹添加到我的Web服务器目录时,都会出现inotify EMFILE 错误。我已经设置了

/proc/sys/fs/inotify/max_user_instances 
/proc/sys/fs/inotify/max_user_watches 
两者都超过10万,仍然没有运气。我有不到5000个文件&整个http根目录中的文件夹,所以我不应该达到限制。 node_modules文件夹中是否存在与其他inotify观察者冲突的特定内容?

更多信息:

  • 使用nodejs服务器,只使用npm作为前端程序包管理器。
  • 在Ubuntu 13.10上运行

提前致谢。

1 个答案:

答案 0 :(得分:1)

EMFILE错误将由inotify_init()触发(而不是您所期望的inotify_add_watch())。

来自man 2 inotify_init

  

EMFILE已达到用户对inotify实例总数的限制。

inotify 实例的总数不是受监控的文件和文件夹的数量。通常,监视进程只会创建一个用于监视某个文件夹树的实例。

这意味着您的系统似乎是多个进程(很多!)并行监视inotify事件。看起来像监视进程再次启动的错误,或者那些进程是由其他错误脚本生成的。