若干日常机器的java进程总被莫名其妙kill掉,推测是内存不足原因导致的,但是一直没有找到切实的原因。今天看atatach上的一篇文章,找了了方法查找原因。
其实很简单,调用dmesg|tail或者demsg|more看一下近期的日志,出现类似如下的内容:
[22610355.206501] Out of memory: Kill process 22861 (java) score 821 or sacrifice child
[22610355.206524] Killed process 22861, UID 505, (java) total-vm:2631060kB, anon-rss:1682624kB, file-rss:972kB
[22610355.207609] DragoonAgent invoked oom-killer: gfp_mask=0x201da, order=0, oom_adj=0, oom_score_adj=0
[22610355.207614] DragoonAgent cpuset=/ mems_allowed=0
基本可以断定是由于内存不足,系统杀了java进程