Как вы можете получить больше информации о процессах, когда Linux не хватает памяти? - PullRequest
1 голос
/ 23 сентября 2008

Недавно у меня возникла проблема с тем, что oom-killer через некоторое время начал убивать процессы. Я мог видеть, что память была занята, но к тому времени, когда я добрался до сервера, уже не было ясно, что потребляло это. Есть ли хорошее неочевидное место, чтобы получить больше информации о oom-killer? Например. подробная информация о процессах на момент активации, подробная информация о прерванных процессах и причинах выбора?

Я ищу конкретное место, где можно найти эту информацию, конкретный инструмент для ее сбора или некоторую конфигурацию для улучшения отчетности oom-killer. Я не ищу общую информацию о убийце. / var / messages по умолчанию будет содержать только подробный отчет о свободной / выделенной памяти, но не конкретные процессы, для которых она была выделена.

Ответы [ 3 ]

2 голосов
/ 23 сентября 2008

Вы можете проверить файл журнала сообщений, чтобы увидеть, какой процесс был убит, и некоторую связанную информацию. По причинам:

... идеальным кандидатом на ликвидацию является недавно запущенный, непривилегированный процесс, который вместе со своими детьми использует много памяти, был хорош и не выполняет необработанный ввод-вывод. Что-то вроде параллельной сборки ядра nohup'd (что не является плохим выбором, так как все результаты сохраняются на диск и очень мало работы теряется при завершении 'make').

С здесь .

Вы можете определить некоторые процессы, которые будут неуязвимы для убийцы, настроить параметр swappiness на случай, если он слишком низок (что делает срабатывание убийцы счастливым), и проверить перечисленные вещи здесь

1 голос
/ 23 сентября 2008

Это не точный ответ на ваш вопрос, но справочная страница malloc(3) в Linux содержит некоторую информацию о том, как отключить переполнение памяти

echo 2 > /proc/sys/vm/overcommit_memory
1 голос
/ 23 сентября 2008

Как правило, вы должны получить сообщение в / var / log / messages с довольно большим количеством деталей, относящихся к процессу, который был убит oom-killer.

...