java.io.IOException:错误的文件描述符Jetty 9.2.10.v20150310

时间:2015-07-09 09:05:54

标签: java jetty jetty-9 hp-nonstop tandem

我在18095端口的不间断服务器上启动了jetty,它运行正常,几天后突然注意到它消耗了更多的CPU,当我检查日志时注意到以下日志连续写入

    2015-07-08 13:25:48.606:WARN:oejs.ServerConnector:qtp26807578-18-acceptor-0@182e42f-ServerConnector@1f02fde {HTTP/1.1}{0.0.0.0:18095}:
java.io.IOException: Bad file descriptor (errno:4009)
        at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)
        at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:241)
        at org.eclipse.jetty.server.ServerConnector.accept(ServerConnector.java:377)
        at org.eclipse.jetty.server.AbstractConnector$Acceptor.run(AbstractConnector.java:500)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
        at java.lang.Thread.run(Thread.java:724)

有没有办法解决这个问题。感谢

1 个答案:

答案 0 :(得分:1)

“errno:4009”来自Java本身。

OS(或FileSystem)中的某些内容阻止接受特定的传入套接字。

如果您是unix系统,请考虑评估各种ulimit值并提出适当的值以更好地满足您的需求。

如果您使用的是Windows环境,请不要在Windows ME / 2000上运行(因为它们有很长的JVM / ServerSocket问题)