아래의 오류 pl에 대한 적절한 해결책은 ulimit을 사용하는 것이 해결책이 아닙니다.Jboss - java.net.SocketException : 열려있는 파일이 너무 많습니다.
환경 - 자바 7, 제이 보스 4.3.2.GA 빨간 모자에 우리는 적당한 부하 RHEL 5에서 유사한 오류가 발생했다
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)
이 문제를 일으키는 시나리오는 무엇입니까? –
처음에는 Jboss가 시작될 때마다 250 개의 파일이 열리고 각 히트에는 100-120 개의 파일이 열리고 10-20 개의 파일이 닫힙니다. 제 경우에는 방금 내 응용 프로그램에 로그인하고 100 개 이상의 파일을 열어 두는 프로세스에 대해 로그 오프합니다. 30 명의 사용자가 로그인 할 때 부하 테스트를 수행하면 1000 개가 넘는 파일이 열리는 것을 볼 수 있습니다. 이 작업은 I/O 작업을 사용하지 않습니다. – onlykalu