node.js - 如何检测 Node 中的文件描述符泄漏

标签 node.js

我怀疑我的 Node 应用程序中存在文件描述符泄漏,但我不确定如何确认这一点。有没有简单的方法来检测 Node 中的文件描述符泄漏?

最佳答案

跟踪打开的文件

在 Linux 上,您可以使用 lsof 命令来列出[一个进程]打开的文件。

获取您要跟踪的事物的 PID:

ps aux | grep node

假设它的 PID 为 1111 和 1234,列出打开的文件:

lsof -p 1111,1234

您可以保存该列表并比较您希望它们在您的应用中发布的时间。

让复现更容易

如果需要一段时间来确认这一点(因为需要一段时间才能用完描述符),您可以尝试使用 ulimit

降低可用文件描述符的限制
ulimit -n 500 #or whatever number makes sense for you
#now start your node app in this terminal

关于node.js - 如何检测 Node 中的文件描述符泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18622316/

相关文章:

node.js - Nodejs Express 使用表单中的数据查询 mongolab 以获取单个条目

arrays - 如何在javascript中交换多个数组的索引并创建一个新数组

javascript - 连接闪存错误消息 : flash is not defined

javascript - fs.open 'rs' 标志和 fs.openSync 之间的区别

javascript - 如何在 Node.js 服务器中包含 JavaScript 文件的函数?

node.js - 如何使用 mongoose 从 mongo db 找到不等于 ids 数组的所有对象?

node.js - 如何覆盖 DOMParser 上的 node/xmldom errorHandler?

javascript - Node.js 集群主进程在 kill & pgrep 后重启?

node.js - 如何通知客户端当前的执行状态

node.js - Node 应用程序无法连接到 MongoDB,但仅在 Docker 中