1、查找进程
通过jps -l查找相关的进程发现进程已经不存在

2、查看服务日志
查看服务日志后,发现凌晨4点53并未产生相关的错误日志导致程序出现OOM,此时进行进一步分析,是否是linux杀掉了进程
3、查看linux系统日志
通过less /var/logs/message查询到有相关的java进程被杀掉的日志记录,因为当时java进程是按照的7g堆内存进行启动的。
java -jar -Xms7000m -Xmx7000m -Dspring.profiles.active=test
而linux根据系统评分把当前java进程占用内存高评分为313,所以linux内核为了自保而把当前java进程给杀掉了,而具体是因为什么原因造成的呢?


文章描述了一个Java进程因内存使用过高被LinuxOOMKiller机制杀死的过程。通过jps-l查找进程、查看服务和系统日志,发现Linux内核基于内存评分杀掉了Java进程,这是由于过度分配内存策略及内存不足时的自我保护机制。问题可能由凌晨启动的Docker服务内存申请引发。
最低0.47元/天 解锁文章
293

被折叠的 条评论
为什么被折叠?



