故障描述:springboot应用进程运行一段时间之后被系统kill掉
排查步骤
查看系统日志文件:
/var/log/messages
日志片段
...
Jan 6 20:00:23 danmi2 kernel: Out of memory: Kill process 49261 (java) score 184 or sacrifice child
Jan 6 20:00:23 danmi2 kernel: Killed process 49261, UID 0, (java) total-vm:36866684kB, anon-rss:17713276kB, file-rss:8kB
Jan 6 20:00:23 danmi2 kernel: java invoked oom-killer: gfp_mask=0x201da,
order=0, oom_adj=0, oom_score_adj=0
...
优化方案:
1.调整jvm参数
nohup java -Xms8g -Xmx8g -XX:+HeapDumpOnOutOfMemoryError -jar <应用>.jar > /dev/null 2>&1 &
-Xms8g -Xmx8g 调整堆内存大小
-XX:+HeapDumpOnOutOfMemoryError 内存溢出之后导出dump堆文件