Java WSO2 ESB打开的文件太多

Java WSO2 ESB打开的文件太多,java,web-services,sockets,wso2,wso2esb,Java,Web Services,Sockets,Wso2,Wso2esb,我们在安装wso2 esb时遇到了一个问题 我们只配置了4个代理服务,一个月后没有问题,我们开始出现以下错误: 2013-10-02 09:29:09,366 [-] [PassThroughHTTPSListener] WARN PassThroughHttpSSLListener System may be unstable: HTTPS ListeningIOReactor encountered a checked exception : Too many open files jav

我们在安装wso2 esb时遇到了一个问题

我们只配置了4个代理服务,一个月后没有问题,我们开始出现以下错误:

2013-10-02 09:29:09,366 [-] [PassThroughHTTPSListener]  WARN PassThroughHttpSSLListener System may be unstable: HTTPS ListeningIOReactor encountered a checked exception : Too many open files
java.io.IOException: Too many open files
at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)
at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:189)
at org.apache.http.impl.nio.reactor.DefaultListeningIOReactor.processEvent(DefaultListeningIOReactor.java:129)
at org.apache.http.impl.nio.reactor.DefaultListeningIOReactor.processEvents(DefaultListeningIOReactor.java:113)
at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:313)
at org.apache.synapse.transport.passthru.PassThroughHttpListener$2.run(PassThroughHttpListener.java:180)
at java.lang.Thread.run(Thread.java:738)
如果我列出java打开的文件列表,我将看到数百个:

java      3906       root  150u     sock                0,7         0t0       9928 can't identify protocol
java      3906       root  151u     sock                0,7         0t0      10004 can't identify protocol
有人能告诉我这个错误的原因吗


谢谢。

请增加最大打开文件限制

Eg: ulimit -f 65000

我已经配置了这个值,但这只会给我更多的时间。错误很快或稍后出现。增加文件处理程序sudo vi/etc/sysctl.conf fs.file-max=1000000 fs.inotify.max_user_watches=1000000,并增加用户sudo vi/etc/security/limits.conf xxx soft nofile 100000 xxx hard nofile 1000000的文件数。我认为上述设置应该可以解决这个问题。如果您仍然面临这个问题,请使用您的所有设置创建一个jira票证。抱歉@Ratha,但我不明白为什么这会解决我的问题?您的解决方案只会增加我可以拥有的打开文件的数量,但当ESB进入此外部状态时,它将打开数千个打开的文件,哪一个是限制并不重要,因为你会很抱歉@Ratha,但我不明白,为什么这能解决我的问题?您的解决方案只会增加我可以打开的打开文件的数量。当ESB进入这个extrange状态时,它会生成套接字不会关闭,打开的文件数量开始增加。哪一个是限制并不重要,因为你会超过限制。