真的解决了太多的打开文件"在进程级别而不是在全局ubuntu级别上

时间:2016-12-21 22:07:38

标签: ubuntu tomcat ubuntu-14.04 ubuntu-16.04

我们有tomcat运行,我们面对的是太多打开的文件"间歇性的问题..我们真的做了很多谷歌并检查了所有的stackoverflow并做了一切修复它像修改" /etc/security/limits.conf"等。

现在ulimit -n显示的数字更高,但我们仍然面临问题。

2 个答案:

答案 0 :(得分:1)

最后,当我们尝试$ cat /proc/<processId>/limits;我们注意到了#34;打开文件的数量&#34;仍显示为4096,这是旧的价值;虽然对于root来说它显示出更高的值。

最后,我们可以通过修改/ etc / default / tomcat7 [或与您的进程相对应的任何其他文件]并添加以下行来解决问题:

ulimit -Hn 10000
ulimit -Sn 10000

无需重启系统;只需重新启动该过程,然后检查/ proc / processId / limits

答案 1 :(得分:0)

在ubuntu 16.04下,tomcat的最大文件数受systemd限制,并自动设置为4096.您可以通过运行

来更改此值
systemctl edit tomcat7

添加以下行:

[Service]
LimitNOFILE=8192

或者你可以自己创建配置:

mkdir /etc/systemd/system/tomcat7.service.d/
nano /etc/systemd/system/tomcat7.service.d/override.conf 

之后重新加载tomcat:

service tomcat7 restart

并仔细检查是否正确设置了限制

ps ax | grep tomcat
cat /proc/<processId>/limits