排查消失的java进程

今天早上上班测试同学反馈正式环境无法访问了,由于周末没人使用,所以也没人提前反映这个问题,马上联想到需要加一个监控预警,以此第一时间发现并解决问题。但目前最重要的还是看看现在出现了什么情况。

首先排查是不是什么内存溢出、泄漏的情况 执行下

ps aux |grep java

咦 居然没有我们的web项目了!!!根据以往的经验,如果出现内存溢出、泄漏,其进程还是在的,所以这个就刷新了我的认知了。

那为啥java进程会莫名消失呢? 前面听说过linux的oom在一定的情况下有可能会kill掉应用,所以执行了一下

grep “Out of memory” /var/log/messages

发现并没有匹配的内容,去看了完整文件内容,发现没有kill相关的信息

接着执行

dmesg -T| grep java

发现如下内容
这里写图片描述

再对比java日志停止时间,看来这里才是问题的根源,所以接下来从优化java内存占用、加内存入手尝试解决问题吧!