jboss Java.NET服务器上出现异常错误:打开的文件太多

1tu0hz3e  于 2022-11-08  发布在  Java
关注(0)|答案(3)|浏览(260)

以下错误的正确解决方案请,增加ulimit对我来说不是一个解决方案。
环境-Red Hat上的java 7和Jboss 4.3.2.GA

22:30:08,913 ERROR [JIoEndpoint] Socket accept failed
java.net.SocketException: Too many open files
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:396)
at java.net.ServerSocket.implAccept(ServerSocket.java:522)
at java.net.ServerSocket.accept(ServerSocket.java:490)
at org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket(DefaultServerSocketFactory.java:61)
at org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:309)
at java.lang.Thread.run(Thread.java:722)
bhmjp9jg

bhmjp9jg1#

在中等负载下,我们在RHEL 5上也遇到过类似的错误。
它似乎是默认的最大打开文件限制只有1024这是太低了。
检查:ulimit -n
修复当前会话:ulimit -n 102400
永久修复:echo yourusername - nofile 102400 >>/etc/security/limits.conf并重新启动会话
另请参阅https://serverfault.com/questions/44182/is-there-a-way-to-set-ulimit-for-all-root-processes

zz2j4svz

zz2j4svz2#

看起来有些代码使套接字处于打开状态。确保在使用完它们后关闭Socket

but5z9lq

but5z9lq3#

除非你增加ulimit或者启动更多的进程,否则你什么都做不了。我不知道你怎么能运行你的服务器的多个示例--看看手册。祝你好运!

相关问题