【发布时间】:2015-05-09 03:55:39
【问题描述】:
我遇到了一个奇怪的问题,我尝试了所有方法但无法解决。
我有一个 Wildfly 8.2 实例,它运行一个控制 CallCenter 的 JavaEE 应用程序,这个应用程序使用 2 ~ 8 GB 内存取决于有多少人在工作,应用程序控制电话,以及用于配置/报告的 Web 界面和其他sutffs。
野蝇随机被杀死,我在控制台中看到以下消息:
*** JBossAS process XXXX received kill signal ***
我需要重新开始。
我读到这可能是正在杀死我的进程的 linux OOM Killer,所以我在 /proc/wildfly_pid/oom_adj 中设置了值 -17,正如我在文档中阅读的那样,它使 oom Killer 忽略了该进程,但是它似乎不起作用,wildfly 不断被杀死,我每 1 分钟做了一个 cron 工作来配置 oom_adj,并检查它,配置正确,但没有任何帮助。
我正在监视应用程序,内存就像 3 GB 并且它被杀死了,它可以工作几个小时但随机被杀死。
我不知道该怎么做,我正在使用 Debian 7.8 和来自我的客户端的服务器,具有 16gb 内存和 Wildfly 8.2 处于独立模式,具有以下 java 选项
-server -Xms256m -Xmx8192m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true
任何帮助将不胜感激。
dmesg 输出的链接dmesg
【问题讨论】:
-
发布
dmesg的输出(自您启动 Wildfly 以来的行数)。 -
自从我开始使用 wildfly 后,我如何才能获得这些台词?它从系统开始,目前我无法重新启动它,因为我的客户正在工作并且重新启动对他们来说花费了很多钱
-
大多数系统的日志行都有时间戳,作为 root 你可以运行
dmesg -c来清除缓冲区(并在下次发生时捕获它)。如果您仍然不确定如何,您可以发布整个内容,它会很长。 -
@chrylis,编辑了我的问题。
-
@kennedy 对我来说这是内存泄漏,扩展内存限制有帮助,修复泄漏更有帮助????
标签: java linux jakarta-ee wildfly