【发布时间】:2017-11-09 05:42:18
【问题描述】:
我们最近在尝试访问 Unix 服务器中的 weblogic 控制台时遇到了一个问题,我们会得到:
错误 503--服务不可用
并且在日志文件中会声明:
原因:java.io.FileNotFoundException: /opt/weblogic1036/wlserver_10.3/server/lib/co>nsoleapp/webapp/WEB-INF/weblogic.xml(打开的文件太多)
经过一番谷歌搜索后,我遇到了一个解决方案,该解决方案指出 /etc/security/limits.conf 文件规定了进程可以打开的文件数,https://linux.die.net/man/5/limits.conf 特别是 nofile 并且它需要待提高。 我还将它与我们拥有的另一台服务器进行了比较,在该服务器中,weblogic 控制台确实可以工作,其中 nofile 行存在且具有足够高的值。
我们也在发生问题的服务器中添加了这两行:
* 软文件 65536
* 硬文件 65536
确实它解决了问题并且控制台工作了。 但是现在由于某种原因,在重新启动这个 weblogic 后问题又回来了,当检查 weblogic 进程的限制时,我们看到它具有 1024 个文件的旧默认值:
cat /proc/32203/limits
Limit Soft Limit Hard Limit Units
Max open files 1024 1024 files
...
- 同一服务器上的不同 weblogic 控制台确实可以工作(请注意修复后)并返回 65536 的“最大打开文件数”
- limits 文件未更改,仍保留新的 nofile 值
知道为什么问题会再次出现吗?看起来服务器由于某种原因“忘记”或“清除”了此特定 weblogic 的最大打开文件值。
任何帮助将不胜感激。
【问题讨论】:
标签: java unix weblogic weblogic-10.x