Ver argumentos completos de la línea de comandos del programa en los registros asesinos de OOM

8

¿Es posible ver los argumentos completos de la línea de comandos del programa en los registros de OOM killler? Lo que veo ahora en / var / log / syslog es

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

Tengo muchos procesos beam.smp en mi máquina y no es muy conveniente averiguar qué proceso en particular fue asesinado por el asesino OOM.

sergeyz
fuente

Respuestas:

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

que parece el máximo que puede hacer que el núcleo se muestre en errores de falta de memoria.

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

Permite que se produzca un volcado de tareas en todo el sistema (excluyendo los hilos del núcleo) cuando el núcleo realiza una destrucción de OOM e incluye información como pid, uid, tgid, tamaño vm, rss, nr_ptes, swapents, puntaje oom_score_adj y nombre. Esto es útil para determinar por qué se invocó al asesino OOM, para identificar la tarea deshonesta que lo causó y para determinar por qué el asesino OOM eligió la tarea que realizó para matar.

Si se establece en cero, esta información se suprime. En sistemas muy grandes con miles de tareas, puede que no sea posible volcar la información del estado de la memoria para cada una. Dichos sistemas no deberían verse obligados a incurrir en una penalización de rendimiento en condiciones OOM cuando la información puede no ser deseada.

Si se establece en un valor distinto de cero, esta información se muestra cuando el asesino de OOM realmente mata una tarea de acaparamiento de memoria.

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

no me ayudó mucho, todavía no hay parámetros de línea de comando en el registro.
para ver retrospectivamente la línea de comando del proceso eliminado, puede usar encima para registrar la actividad del sistema.
si oom-killer mata s / th, simplemente abra la parte superior del registro durante ese tiempo, encuentre su proceso por PID desde / var / log / syslog y presione la tecla 'c' para ver la línea de comandos del proceso.

atti
fuente