【发布时间】:2011-08-12 01:24:27
【问题描述】:
我的 node.js 实例中不断出现错误,它报告错误:
(node) Hit max file limit. Increase "ulimit - n"
然而,当我检查我的 ulimit -n 时,它显示的是 65535。 我的应用程序无法打开 65535 个连接。 有人对其他检查有什么建议吗?
干杯
【问题讨论】:
-
发布一些代码会有所帮助。
-
您在打开文件或连接吗?您是明确关闭它们,还是依赖 GC 调用的析构函数来执行此操作?你在循环中创建它们吗?请记住,GC 将“稍后”关闭它们,其中“稍后”可以在循环的 1000 次迭代之后创建 100 个,使用它们并丢弃它们,因此您可以在短时间内打开 100000 个文件描述符如果您不再需要它们时不关闭它们。
-
在进程终止前尝试使用 'ls -l /proc/
/fd' 和进程的 pid,然后你会看到打开了哪些文件描述符。