Просмотр полных аргументов командной строки программы в журналах убийцы OOM


8

Можно ли просмотреть полные аргументы командной строки программы в журналах OOM killler? То, что я вижу сейчас в / var / log / syslog:

Memory cgroup out of memory: Kill process 29187 (beam.smp) score 998 or sacrifice child
Killed process 29302 (cpu_sup) total-vm:4300kB, anon-rss:76kB, file-rss:272kB
beam.smp invoked oom-killer: gfp_mask=0xd0, order=0, oom_score_adj=0
beam.smp cpuset=/ mems_allowed=0-3

У меня на компьютере много процессов beam.smp, ​​и не очень удобно выяснять, какой именно процесс был убит OOM killer.

Ответы:


4
echo 1 > /proc/sys/vm/oom_dump_tasks

Кажется, что вы можете заставить ядро ​​отображать ошибки из-за нехватки памяти.

https://www.kernel.org/doc/Documentation/sysctl/vm.txt

Позволяет создавать общесистемный дамп задач (исключая потоки ядра), когда ядро ​​выполняет OOM-уничтожение, и включает такую ​​информацию, как pid, uid, tgid, размер vm, rss, nr_ptes, swapents, счет oom_score_adj и имя. Это полезно, чтобы определить, почему был вызван убийца OOM, определить мошенническую задачу, которая его вызвала, и определить, почему убийца OOM выбрал задачу, которую он сделал, чтобы убить.

Если это установлено в ноль, эта информация подавляется. В очень больших системах с тысячами задач может оказаться невозможным сбросить информацию о состоянии памяти для каждой из них. Такие системы не должны принуждаться к снижению производительности в условиях OOM, когда информация может быть нежелательной.

Если для этого параметра установлено значение, отличное от нуля, эта информация отображается всякий раз, когда убийца OOM фактически убивает задачу захвата памяти.


1
echo 1 > /proc/sys/vm/oom_dump_tasks

мне не очень помогло - в журнале все еще нет параметров командной строки.
Чтобы ретроспективно просмотреть командную строку убитого процесса, вы можете использовать поверх для записи активности системы.
если oom-killer убивает s / th, просто откройте поверх этого журнала, найдите процесс по PID из / var / log / syslog и нажмите клавишу «c», чтобы просмотреть командную строку процесса.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.