Sometimes our instance of openfire will start spewing errors like the following:
2008.05.31 18:22:36 EXCEPTION
java.io.IOException: Too many open files
at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)
at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:145)
at org.mortbay.jetty.nio.SelectChannelConnector$1.acceptChannel(SelectChannelConne ctor.java:75)
at org.mortbay.io.nio.SelectorManager$SelectSet.doSelect(SelectorManager.java:475)
at org.mortbay.io.nio.SelectorManager.doSelect(SelectorManager.java:166)
at org.mortbay.jetty.nio.SelectChannelConnector.accept(SelectChannelConnector.java :124)
at org.mortbay.jetty.AbstractConnector$Acceptor.run(AbstractConnector.java:537)
at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
Once we see this error, the server typically needs to be restarted. Our open file limit is set much higher than our concurrent user count (15,000 users, but the open file limit is set at 128k) This seems to happen when our servers are lagging and many people are trying to reconnect.
Is it possible that OF is leaking file handles somehow? Or is it just that the sockets stick around for several minutes after being closed, and we need to set the file limit much higher? Any advice on this would be greatly appreciated.