How to track down a file descriptor leak?

Posted by cclark on Server Fault See other posts from Server Fault or by cclark
Published on 2010-04-26T05:22:08Z Indexed on 2010/04/26 5:23 UTC
Read the original article Hit count: 443

Filed under:
|

I have a java process (Glassfish) which is leaking file descriptors. I know this because I get the helpful java.io.IOException: Too many open files exception. I can look in /proc/PID#/fd and see all the open file descriptors. When I use lsof I get a very large number of entries like this:

java 18510 root 8811u sock 0,4 1576079 can't identify protocol
java 18510 root 8812u sock 0,4 1576111 can't identify protocol
java 18510 root 8813u sock 0,4 1576150 can't identify protocol

I see 12 new ones created per minute. What options can I use on lsof or what other tools are available to me to help track down socket file descriptors where the protocol can't be identified?

thanks, chuck

© Server Fault or respective owner

Related posts about max-file-descriptors

Related posts about lsof