Hi all!

I am seeing odd behaviour with 7.0.23, with the tomcat user's open file count 
increasing slowly, but consistently. Two other instances running the exact same 
codebase on identical hardware, BUT with Tomcat 7.0.20, are not exhibiting the 
same behaviour. 7.0.20 is rock solid, 7.0.23 dies due to too many open files 
every now and then. I've increased ulimit for now, but this is still a bit 
nasty.

Any suggestions where to look? Should I file a bug?

lsof says

...
java    21299 ubuntu   87r     sock                0,6       0t0  31983006 
can't identify protocol
java    21299 ubuntu   88r     sock                0,6       0t0  31983007 
can't identify protocol
java    21299 ubuntu   89r     sock                0,6       0t0  31983008 
can't identify protocol
java    21299 ubuntu   90r     sock                0,6       0t0  31989046 
can't identify protocol
java    21299 ubuntu   91r     sock                0,6       0t0  31986504 
can't identify protocol
java    21299 ubuntu   92r     sock                0,6       0t0  31987223 
can't identify protocol
...

with a new one every couple of minutes.

java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)

/usr/bin/java -Dnop -server -Xmx1024m -Xms128m -XX:MaxPermSize=256m 
-Dcom.sun.management.jmxremote.port=<redacted> 
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 
-Djava.endorsed.dirs=/home/ubuntu/tomcat-bin/current/endorsed -classpath 
/home/ubuntu/tomcat-bin/current/bin/bootstrap.jar:/home/ubuntu/tomcat-bin/current/bin/tomcat-juli.jar
 -Dcatalina.base=/home/ubuntu/tomcat-run 
-Dcatalina.home=/home/ubuntu/tomcat-bin/current 
-Djava.io.tmpdir=/home/ubuntu/tomcat-run/temp 
org.apache.catalina.startup.Bootstrap start

OS: Ubuntu 10.04 LTS, kernel 2.6.32 smp.

No OOM issues, no errors in log files, until the eventual SocketException when 
ulimit is reached:

30-Dec-2011 19:05:47 sun.rmi.transport.tcp.TCPTransport$AcceptLoop 
executeAcceptLoop
WARNING: RMI TCP Accept-0: accept loop for 
ServerSocket[addr=0.0.0.0/0.0.0.0,port=0,localport=41709] throws
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 
sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:369)
        
        at 
sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:341)
        at java.lang.Thread.run(Thread.java:662)

/Janne
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to