too many open files problem
843833Sep 22 2005 — edited Sep 29 2007good day,
i have Sun Java System Application Server Platform Edition 8.1 2005Q2 UR2 on RH ES 4.0 . i have an application that makes function calls over http to another server and does some file r/w operations . while running the server opens lots of pipes which look like this with lsof :
appserv 3970 root 316u sock 0,4 26849 can't identify protocol
appserv 3970 root 317r FIFO 0,7 26850 pipe
appserv 3970 root 318w FIFO 0,7 26850 pipe
appserv 3970 root 319r FIFO 0,7 26851 pipe
appserv 3970 root 320w FIFO 0,7 26851 pipe
appserv 3970 root 321r FIFO 0,7 27070 pipe
appserv 3970 root 322w FIFO 0,7 27072 pipe
appserv 3970 root 323w FIFO 0,7 27072 pipe
appserv 3970 root 324r FIFO 0,7 27073 pipe
appserv 3970 root 325u FIFO 0,7 27073 pipe
appserv 3970 root 326r sock 0,4 26910 can't identify protocol
appserv 3970 root 327w FIFO 0,7 27074 pipe
appserv 3970 root 328r FIFO 0,7 27074 pipe
appserv 3970 root 329w FIFO 0,7 27075 pipe
appserv 3970 root 330r FIFO 0,7 27075 pipe
appserv 3970 root 373u sock 0,4 23024 can't identify protocol
appserv 3970 root 374r FIFO 0,7 23320 pipe
appserv 3970 root 375w FIFO 0,7 23320 pipe
after some time server starts to throw java.io.filenotfoundexception (too many open files) when accessing files and server get gets paralyzed. lsof shows a lot (i have seen > 1000) of open pipes. i am sure i close files and streams in code. and it looks like those pipes are building up even when server is idle. after a while some pipes are closed and server resumes normal operation. my ulimit is 20460 which must be sufficient. still this is a problem to me as normaly no there shoud be no open
pipes left while server is running. is it a sun server problem or os problem
?
thanks a lot
edmunds