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: [email protected]
For additional commands, e-mail: [email protected]