Как интерпретировать это сообщение ядра: cgroup out of memory: убить процесс 1234 .... оценка 1974 или принести в жертву ребенка? - PullRequest
0 голосов
/ 04 октября 2018

Итак, я запускаю докер-контейнер, который становится убитым.

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

pid действительно не помогает, так как экземпляр будет перезапущен.Я не уверен, что делать из части score 1974.Это какой-то рейтинг?Это количество байтов, которое нужно уменьшить до?

Может ли быть выполнено уничтожение из-за других вещей в системе, которые сжимают этот контейнер, или это может быть только этот контейнер превысилout?

И часть жертвы-ребенка, я думаю, что будет в отношении какого-то подпроцесса?

1 Ответ

0 голосов
/ 05 октября 2018

Я полагаю, что на самом деле ответили здесь

Если вы проверите код ядра Linux здесь .Вы увидите:

/*
 * 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.
 */

мм означает «Управление памятью».

Единственная разница здесь в том, что это уничтожение запускается cgroups, потому что вы, вероятно, столкнулись с ограничениями памяти.

...