helps you figure out why your unix process uses too many file descriptors
fd-leak-finder helps you figure out why your unix process is using up too many fds.
To use it, generate strace output with a command something like this:
strace -q -a1 -s0 -ff -e trace=desc -tttT -ostrace.file $EXECUTABLE
Then pipe the resulting “strace.file.$PID” into fd-leak-finder’s stdin.
It turns out that strace’s representation of this stuff is much more complicated than I thought, and I don’t understand why some of fd-leak-finder’s computations turn out the way they do. You can see “xxx weird” sorts of messages in fd-leak-finder. Hopefully it will be useful to you anyway! If you figure out how to improve it please let me know.
I guess parsing strace’s human-oriented output is a bad way to do this. I’m not sure what a good way to do it is, on Linux. On Solaris or OSX I suppose a good way to do it would be to use dtrace.
You may use this package under the Simple Permissive Licence, version 1 or, at your option, any later version. See the file COPYING.SPL.txt for the terms of the Simple Permissive Licence, version 1.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.