java.io.IOException:tomcat服务器上打开的文件太多

时间:2015-10-19 14:54:01

标签: java linux apache tomcat gwt

我有基于JAVA(GWT Framework)的Web应用程序。我使用Tomcat 8.0.9在使用AJP连接器和JDK 8连接的apache http服务器前面的Redhat Linux Server 6.0上托管我的Web应用程序。每当有20多个用户访问我的网站时tomcat失败并且我检查了日志文件我得到了这个execption

19-Oct-2015 12:38:15.350 SEVERE [ajp-nio-8009-Acceptor-0] org.apache.tomcat.util.net.NioEndpoint$Acceptor.run Socket accept failed
 java.io.IOException: Too many open files
    at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)
    at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:241)
    at org.apache.tomcat.util.net.NioEndpoint$Acceptor.run(NioEndpoint.java:688)
    at java.lang.Thread.run(Thread.java:745)

Web应用程序使用:

数据库:couchdb 1.5(使用4GB RAM在ec-2机器上运行)

搜索:elasticsearch 1.0(使用4GB RAM在ec-2计算机上运行)

Tomcat :使用ajp连接的apache服务器前面的Tomcat 8.0            连接器(使用8GB RAM在ec-2机器上运行)

我搜索了很多&找出将 fs.file-max = 200000和软文件和硬文件限制的值更改为65535 的解决方案,但仍然会发生此错误并且tomcat停止响应。然后我需要重新启动tomcat ec-2机器,然后只有应用程序开始正常运行。

我无法理解为什么这个问题经常发生?

我的客户因为这个问题而烦恼。请帮我解决这个问题。

0 个答案:

没有答案