繁体   English   中英

在jboss-portal-2.7.2的部署阶段出现错误“java.net.SocketException:Too many open files”

[英]Error “java.net.SocketException: Too many open files” at deployment phase in jboss-portal-2.7.2

在日志消息中的某个时刻启动jboss-portal-2.7.2时:

2013-01-30 20:32:02,541 ERROR [org.apache.tomcat.util.net.JIoEndpoint] Socket accept failed
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 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:662)

在deploy文件夹中共有20个war模块。 有解决方案吗

此消息基本上意味着您已达到操作系统设置的最大文件数限制。

解决这个问题的正确方法是通过诊断lsof -p <jboss_java_pid>的输出,并找出导致这些文件被打开的原因。 然后相应地进行解决方案。

快速修复解决方案可能是增加操作系统的全局最大文件限制,或者增加用户或两者的文件限制。 例如,在Fedora中,可以在/proc/sys/file-max文件中为全局文件max limit和/etc/security/limits.conf设置用户限制。

为运行tomcat的用户增加服务器上的ulimit。

要检查ulimit:

ulimit -n

增加当前会话:

ulimit -n 102400

您可以通过编辑/etc/security/limits.conf进行永久性更改。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM