我在端口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)
有什么办法可以解决这个问题吗?谢谢
最佳答案
“errno: 4009”来自 Java 本身之外。
操作系统(或文件系统)中的某些内容正在阻止接受特定的传入套接字。
如果您使用的是 UNIX 系统,请考虑评估各种 ulimit
值并提高适当的值以更好地满足您的需求。
如果您使用的是 Windows 环境,请不要在 Windows ME/2000 上运行(因为这些环境长期以来都存在 JVM/ServerSocket 问题)
关于java.io.IOException : Bad file descriptor Jetty 9. 2.10.v20150310,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31312910/