linux 环境下进程什么时候会被 killed掉
转载:https://zhidao.baidu.com/question/1609920477764046627.html
OS:cent os 6.5
日志路径:/var/log/messages
服务器上跑的一个程序,发现报了Killed。查看/var/log/messages里的日志,发现以下报错:
linux下也有内存OOM的处理,不同于android 杀掉报OOM的进程,linux是杀掉当前最占用内存的进程。
当Linux报OOM时,意味着整个系统的内存已经不足,如果不杀死进程的话,就会导致系统的崩溃。
每个进程都会存有一个oom_score的参数,
比如输出pid为988的oom_score:
[plain] view plain copy
cat /proc/988/oom_score
OOM Killer 会在系统报OOM的时候,杀死当前score最高的进程,一般情况也就是占用内存最大的进程。
解决方法:一是增加系统内存,二是优化进程,使其占用内存降低。三是可以使用oom_score_adj参数,
这个参数会被计算入oom_score,可以避免进程被杀死(不推荐使用)。