若干日常機器的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進程