App正在被OOM杀手杀死,在某些oom_score上杀死它。是否为OOM设置了任何特定的值,在到达值集后何时终止进程,或者如何决定何时终止?
如果它是用一些固定的值完成的,那么oom_score有一种方法来改变这个值。
有人能通过详细的方式,如何处理OOM,以了解究竟发生了什么时候,OOM杀手杀死我的应用?
发布于 2017-06-12 16:13:25
是否为OOM设置了任何特定的值,在到达值集后何时终止进程,或者如何决定何时终止?
不是的。只有当系统耗尽内存时才会使用OOM杀手。当发生这种情况时,首先是以最高的OOM分数杀死进程。评分是基于进程正在使用的内存量,并根据各种启发式进行一些调整。
一般来说,如果OOM杀手被激活,您的系统内存太少,或者进程正在失控。这不应该发生在嵌入式设备上--这是某种问题的迹象。
总之,您可以通过将值写入/proc/$pid/oom_score_adj来调整进程的OOM评分。该文件中的值被添加到进程的OOM评分中,因此一个正值将使OOM杀手更有可能更频繁地针对该进程,而一个负值将使OOM杀手避免该过程。
https://stackoverflow.com/questions/44503421
复制相似问题