Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“错误”;java.net.SocketException:打开的文件太多;在jboss-portal-2.7.2中的部署阶段_Java_File Io_Jboss_Socketexception_Jboss Portal - Fatal编程技术网

“错误”;java.net.SocketException:打开的文件太多;在jboss-portal-2.7.2中的部署阶段

“错误”;java.net.SocketException:打开的文件太多;在jboss-portal-2.7.2中的部署阶段,java,file-io,jboss,socketexception,jboss-portal,Java,File Io,Jboss,Socketexception,Jboss Portal,在日志消息中的某个点启动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

在日志消息中的某个点启动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个。战争模块。有什么解决方案吗?

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

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


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

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

要检查ulimit:

ulimit -n
为本届会议增加:

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