查找应用程序被杀死的状态或OOM分数值

时间:2017-06-12 15:38:15

标签: linux linux-kernel linux-device-driver embedded-linux

应用程序正在被OOM杀手杀死某些oom_score杀死它。 是否有任何特定的值设置为OOM何时在达到设定值后杀死进程或如何决定何时杀死?

如果用一些固定值oom_score完成,有办法改变这个值。

可以通过详细的方式了解如何处理OOM以了解当OOM杀手杀死我的应用时究竟发生了什么?

1 个答案:

答案 0 :(得分:2)

  

是否有任何特定的值设置为OOM何时在达到设定值后杀死进程或何时决定何时杀死?

没有。 OOM杀手仅在系统内存不足时使用。当发生这种情况时,它首先杀死具有最高OOM分数的进程。分数基于进程使用的内存量,并根据各种启发式进行一些调整。

一般来说,如果完全激活OOM杀手,则系统内存太少或进程失控。这绝不应该发生在嵌入式设备中 - 它是某种问题的标志。

尽管如此,您可以通过将值写入/proc/$pid/oom_score_adj来调整流程的OOM分数。该文件中的值将添加到流程的OOM分数中,因此正值将使OOM杀手更有可能更频繁地针对该流程,而负值将使OOM杀手避免该流程。