例外:java.net.SocketException:打开的文件太多

时间:2014-02-21 14:11:41

标签: java linux jboss wildfly

嗨,我收到以下错误

Exception : java.net.SocketException: Too many open files 

我正在从geronimo 2.1迁移到wildfly 8

在测试新的应用程序服务器期间,我们收到此错误。没有其他任何内容改变了完全相同的Web应用程序运行,我们从未在 Geronimo 上遇到此问题。

有什么想法吗?

由于

汤姆·

1 个答案:

答案 0 :(得分:1)

看起来您的新应用服务器是“fd-happy”。

要使其工作,您需要做的是配置系统,以便提高应用程序服务器的文件描述符数量限制。

识别运行webapp容器的用户;让我们说它是“燧石”。完成后,将此行添加到/etc/security/limits.conf

flint hard nofiles 4096

由于打开文件数量的通常限制是1024,这将使其翻两番。

在更新的发行版中,还有一个/etc/security/limits.d目录:您可能希望在其中创建一个文件,并将上面的行放在其中。

编辑:对于给定用户,您可以使用ulimit -n查询打开文件数量的当前限制;尝试ulimit -a查看当前定义的所有限制。

编辑2:如果你提出了“nofile限制”并且在一段运行时间之后仍然看到错误,那你就有一个错误 - 某处......