我有一个严重的生产问题。 在OpenJDK上运行Java应用程序的服务只是在看似随机的时间停止。
它在手动调用时正确启动:
sudo /etc/init.d/name start
但是之后,一个未知的过程突然不复存在。 在最后一次发生后约3小时。
控制台输出被redirect到一个日志文件。 这里没有解释。 同样在应用程序日志中(通过Java日志logging框架)。
在服务日志中没有任何兴趣:
journalctl -u name.service
在整个系统上不能findJava崩溃报告文件
sudo find / -name 'hs_err*'
我还可以在哪里寻找解释? 这是相当紧迫的任何帮助将不胜感激!
没有进一步日志的情况下,最有可能导致应用程序消失的原因是系统内存不足。
您可以使用确认
$ grep -i -A20 "Out of memory" /var/log/syslog
这通常是由于以下原因之一在您的平均服务器上发生的:
答对了! 11月7日02:00:51 web1内核:[2993761.744187]内存不足:杀死进程23861(java)得分461或牺牲孩子。 这是如何控制的?
要控制它,你会发现是什么导致系统内存不足,并解决了这个问题。 您将需要安装监控然后使用它。 观察系统在做什么,使用内存识别进程,然后弄清楚他们在做什么以及为什么。