Tomcat 太多打开的文件引发IOException

Tomcat 太多打开的文件引发IOException,tomcat,logging,Tomcat,Logging,我在Amazon上运行我的应用程序,我部署了一个按租户和日期分隔日志文件的版本,这意味着我的环境在某一点上不接受更多请求,引发了IOException 29-Mar-2016 11:56:07.939 SEVERE [http-nio-8080-Acceptor-0] org.apache.tomcat.util.net.NioEndpoint$Acceptor.run Socket accept failed java.io.IOException: Too many open files

我在Amazon上运行我的应用程序,我部署了一个按租户和日期分隔日志文件的版本,这意味着我的环境在某一点上不接受更多请求,引发了IOException

29-Mar-2016 11:56:07.939 SEVERE [http-nio-8080-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)

如何解决此问题?

我根据该教程解决了问题


今天遇到了这个问题。 事实证明,对打开的文件描述符(本质上是唯一标识打开的文件的数字)有一个软限制。这些限制是根据每个过程设置的

$ ulimit -S -n
256
$ ulimit -S -n 1024
1024

请参阅文档

从Tomcat的
conf/server.xml
发布您的
配置。此外,您可能希望将您的问题表述为一个问题,而不是“有人看到了吗?”?也许是“我该如何解决这个问题”?您是在专门询问AWS,但您的问题只是一个一般的Linux问题。如果你搜索“Linux打开的文件太多”,你会找到很多答案。例如:谢谢@ChristopherSchultz
Syntax
      ulimit [-abcdefHilmnpqrsStTuvx] [limit]

Key
   -S   Set a soft limit for the given resource.
   -n   The maximum number of open file descriptors.