码迷,mamicode.com
首页 > 系统相关 > 详细

linux 3.16版本 oom时候选择杀掉哪个进程

时间:2017-07-16 16:41:22      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:另一个   ext   补充   .com   css   custom   疑问   blog   linu   

# linux 3.16版本 oom时候选择杀掉哪个进程
----
### 背景

我有2个定时任务,一个任务A是00:00开跑,另一个B是04:00开跑。正常情况下A会在2点多时候跑完,但是某一天因为某一步骤用的时间过久,导致4点还没跑完,这时候A内存占用大约在12g左右。4点开始了,B开始运行了,逐渐的跑起来了,当内存用到6g左右的时候,系统内存不足,把A杀死了。

疑问:对于这个我有一个疑问,那就是为什么后起来的进程没有被kill,反倒杀死了原来跑的好好的进程。

### 原因

到当linux发生oom的时候,系统会根据一定策略找出进程杀掉(SIGKILL)来释放内存。

linux选择进程的策略可以参考http://elixir.free-electrons.com/linux/latest/source/mm/oom_kill.c这个

可以从select_bad_process这个函数入手,我也正在学习中。

讲的比较浅,只是说了个大概,详细方案,等我看完代码补充上来。

linux 3.16版本 oom时候选择杀掉哪个进程

标签:另一个   ext   补充   .com   css   custom   疑问   blog   linu   

原文地址:http://www.cnblogs.com/symons1992/p/7190688.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!