AWS打开文件过多

时间:2016-03-30 14:02:04

标签: tomcat amazon-web-services logging

我在亚马逊上运行我的应用程序,我部署了一个按租户和日期分隔日志文件的版本,这意味着我的环境在某一时刻不接受更多请求,抛出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)

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

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

$ ulimit -S -n
256
$ ulimit -S -n 1024
1024
Syntax
      ulimit [-abcdefHilmnpqrsStTuvx] [limit]

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

请参阅文档https://ss64.com/bash/ulimit.html

答案 1 :(得分:0)

我在该教程之后解决了我的问题

https://easyengine.io/tutorials/linux/increase-open-files-limit/