Hello, 

We have been seeing "SocketException: Too many open files" in production 
environment(Linux OS running Tomcat 6.0.35 with sun's JDK 1.6.30) every day and 
requires a restart of Tomcat. When this happened for the first time, we 
searched online and found people suggesting to increase the file descriptors 
size and we increased to 4096. But still the problem persists.  We have the 
Orion App Server also running on the same machine but usually during the day 
when we check the open file descriptor by command: ls -l /proc/PID/fd, its 
always less than 1000 combined  for both Orion and Tomcat. 


Here is the exception we see pouring in the logs once it starts: This requires 
us to kill java process and restart tomcat. Our Tomcat configuration 
maxThreadCount is 500 with minSpareThreads=50 in server.xml


SEVERE: Socket accept failed
java.net.SocketException: Too many open files
        at java.net.PlainSocketImpl.socketAccept(Native Method)
        at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408)
        at java.net.ServerSocket.implAccept(ServerSocket.java:462)
        at java.net.ServerSocket.accept(ServerSocket.java:430)
        at 
org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket(DefaultServerSocketFactory.java:61)
        at 
org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:352)
        at java.lang.Thread.run(Thread.java:662)

ulimit -a gives for the user where Tomcat is running.


open files                      (-n) 4096


Please let me know what could be the issue here and how can i resolve this 'Too 
many open files' issue.

Thanks
-G

Reply via email to