【问题标题】:How to handle java.net.SocketException: Too many open files如何处理 java.net.SocketException:打开的文件太多
【发布时间】:2016-12-05 05:20:29
【问题描述】:

Ours 是一个 Struts2 java web 应用程序,使用 hibernate 3.5 ORM。当我们在应用程序上执行一些并行操作时,我们会遇到以下异常,并且 java 进程 cpu 利用率处于最大值。

May 15, 2012 12:39:59 AM org.apache.catalina.core.ApplicationDispatcher invoke
SEVERE: Servlet.service() for servlet jsp threw exception
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:59)
    at org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:210)
    at java.lang.Thread.run(Thread.java:662)

请相应地建议我们。

【问题讨论】:

    标签: jakarta-ee struts2 socketexception


    【解决方案1】:

    我猜您使用的是基于 linux 的操作系统?看来您需要增加最大数量。每个进程的文件句柄。

    看看这里:http://ehaselwanter.com/en/blog/2009/03/13/tomcat-too-many-open-files/

    【讨论】:

      【解决方案2】:

      它超过了打开文件描述的数量限制。解决方案:增加打开文件数量的硬限制和软限制。

      软文件 999999 硬文件 999999 在 /etc/security/limits.conf 文件中

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-09
        相关资源
        最近更新 更多