David Jones
David Jones

Reputation: 10219

How to detect file descriptor leaks in Node

I suspect that I have a file descriptor leak in my Node application, but I'm not sure how to confirm this. Is there a simple way to detect file descriptor leaks in Node?

Upvotes: 5

Views: 2745

Answers (1)

Amir T
Amir T

Reputation: 2758

Track open files

On linux you can use the lsof command to list the open files [for a process].

Get the PIDs of the thing you want to track:

ps aux | grep node

Let's say its PID 1111 and 1234, list the open files:

lsof -p 1111,1234

You can save that list and compare when you expect them to be released by your app.

Make it easier to reproduce

If it's taking a while to confirm this (because it takes a while to run out of descriptors) you can try to lower the limit for file descriptors available using ulimit

ulimit -n 500 #or whatever number makes sense for you
#now start your node app in this terminal

Upvotes: 8

Related Questions