inotify_init报错Too many open files的问题追踪和解决

来源:互联网 发布:天刀少女脸型数据 编辑:程序博客网 时间:2024/06/07 05:47

背景:在nodejs项目中使用iotify监控配置文件动态变化,配置文件较多(几千个配置文件)。在测试机器运行时无报错信息,在线上机器执行失败,报错:terminate called after throwing an instance of 'InotifyException',其中,iotify模板是自己使用c++写的so打包成nodejs模块。


追踪过程:1,使用strace node app.js执行,来追踪系统调用细节,发现错误:inotify_init()                          = -1 EMFILE (Too many open files)

                     2,查看 ulimit -n,尝试调大系统的文件描述符限制,重新执行,还是失败

                     3,google到一些信息,尝试sysctl  fs.inotify.max_user_instances = 128 ;   sysctl  fs.inotify.max_user_watches = 8192。 问题解决

0 0
原创粉丝点击