LINUX.ORG.RU
ФорумAdmin

Post-mortem по логам OOM-killer.


0

3

Суть такова, в определенный момент на машине случилось нечто, в результате чего кончилась физическая память и ОС залезла в своп с головой. Производительность упала до потери всякого отклика от машины. OOM-killer включился, но, похоже, занимался убийством исключительно невиновных и никому не мешающих процессов.

Можно ли как-то по логам отследить, кто сожрал всю память? Хотя бы имена павших жертвами киллера?

Или сразу самому писать скрипт, сбрасывающий на диск ps aux, для следующего такого случая?

★★

вообще, мне казалось ядро сбрасывает в dmesg(и в лог тоже) среди каких приложений оно выбирало жертву и почему. Могу с чем-то путать, но мне казалось при этом оно выдаёт всю нужную инфу. Посмотри в сторону vm.oom_dump_tasks

А ещё лучше настроить мониторинг(хотя бы свопа) и присылать смску админу чтобы тот посмотрел в случае чего.

true_admin ★★★★★
()

> Или сразу самому писать скрипт, сбрасывающий на диск ps aux, для следующего такого случая?

Еще можно попробовать откючить overcommit.

tailgunner ★★★★★
()
Ответ на: комментарий от true_admin

Перед началом проблем шел довольно плотный трафик (0.2 мбит), но куда он шел, непонятно. В логах HTTP-сервера ничего особенного нет, просто обрыв логов после очередного запроса.

Voker57 ★★
() автор топика
Ответ на: комментарий от true_admin

dmesg сохраняется только с перезапуска, в логе (/var/log/messages) OOM-killer пишет что угодно, кроме того, кого он собственно убил.

Voker57 ★★
() автор топика

ИМХО, ваши логи вам не помогут. ИМХО, неплохо бы включить «process accounting», причем v3, тогда в файл пишется и имя и pid процесса.

mky ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.