Error: spawn EMFILE Node js

Error: spawn EMFILE Node js

我收到这个错误。当一个人登录到应用程序时,日志将使用 utilityWrapper 输入到文件中。当应用程序中发生某些 activity 时,此文件是 read/Written。然后过了一段时间突然

'throw errnoException(process._errno, 'spawn');
Error: spawn EMFILE
    at errnoException (child_process.js:988:11)
    at ChildProcess.spawn (child_process.js:935:11)
    at Object.exports.spawn (child_process.js:723:9)
    at Object.Logger (/web/utilityWrapper.js:21:17)
    at process.env.NODE_TLS_REJECT_UNAUTHORIZED (/web/server.js:141:17)
    at process.EventEmitter.emit (events.js:95:17)
    at process._fatalException (node.js:272:26)

出现这个错误。 请帮助我。

这是由于各种原因造成的。该代码有很多 console.logs,它在服务器 运行 所在的命令提示符上打印了很多东西。在写入文件时,它正在使用文件描述符 (fd)。文件描述符的ulimit为1024。 使用命令

lsof - -i -n  -P | grep nodejs

我能够捕获每个 fd 的信息。 当用户登录 application.The ldap 套接字时,Fd 计数会增加,并且 mysql 数据库连接也会消耗大量 fd。 所以当你遇到这种错误时,请记住这些要点。