Вопрос

Когда в Linux не хватает памяти (OOM), убийца OOM выбирает процесс для уничтожения на основе некоторой эвристики (это интересно читать: http://lwn.net/Articles/317814/ ).

Как программно определить, какие процессы были недавно убиты убийцей OOM?

Это было полезно?

Решение

Попробуйте это:

grep -i 'killed process' /var/log/messages

Другие советы

Попробуйте, чтобы вам не пришлось беспокоиться о том, где находятся ваши журналы

dmesg | egrep -i 'killed process'

Теперь dstat предоставляет возможность выяснить в вашей работающей системе, какой процесс является кандидатом на то, чтобы быть убитым механизмом oom

 dstat --top-oom
 --out-of-memory---
  kill score
 java           77
 java           77
 java           77

и в соответствии с man-страницей

  --top-oom
          show process that will be killed by OOM the first

Попробуйте это:

grep "Killed process" /var/log/syslog
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top