3

以下のエラー pls の適切な解決策です。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)
4

3 に答える 3

0

一部のコードでソケットが開いたままになっているようです。それらを使い終わったら、必ず s を閉じSocketてください。

于 2012-08-29T08:20:09.423 に答える
0

中程度の負荷がかかった 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も参照して ください

于 2012-04-05T09:27:13.283 に答える
-1

ulimitを増やすか、より多くのプロセスを起動するまで、それを使って何もすることはできません。サーバーの複数のインスタンスを実行する方法がわかりません。マニュアルを確認してください。幸運を!

于 2012-04-05T09:58:27.903 に答える