如何解释该内核消息:cgroup内存不足:杀死进程1234 ....得分1974或牺牲孩子?

时间:2018-10-04 20:52:26

标签: kubernetes out-of-memory containers

所以,我正在运行一个被杀死的Docker容器。

Memory cgroup out of memory: Kill process 1014588 (my-process) score 1974 or sacrifice child

该pid并没有真正帮助,因为实例将重新启动。我不确定score 1974部分的内容。那是某种评价吗?那是需要减少的字节数吗?

是因为系统上的其他东西正在挤压此容器而发出杀死消息,还是只能将此容器 装满?

牺牲子部分,我认为这与某种子过程有关?

1 个答案:

答案 0 :(得分:1)

我相信这实际上是here

如果您检查Linux内核代码here。您会看到:

/*
 * If any of p's children has a different mm and is eligible for kill,
 * the one with the highest oom_badness() score is sacrificed for its
 * parent.  This attempts to lose the minimal amount of work done while
 * still freeing memory.
 */

mm表示“内存管理”。

这里唯一的区别是,这种杀死是由cgroups触发的,因为您可能已经遇到了内存限制。