Lihat argumen baris perintah program lengkap dalam log pembunuh OOM

8

Apakah mungkin untuk melihat argumen baris perintah program lengkap dalam log pembunuh OOM? Apa yang saya lihat sekarang di / var / log / syslog adalah

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

Saya memiliki banyak proses beam.smp pada mesin saya dan tidak nyaman untuk mengetahui proses apa yang dibunuh oleh pembunuh OOM.

sergeyz
sumber

Jawaban:

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

yang tampaknya tentang maks yang bisa Anda dapatkan dari kernel untuk ditampilkan pada memori kehabisan memori.

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

Mengaktifkan dump tugas di seluruh sistem (tidak termasuk utas kernel) untuk diproduksi ketika kernel melakukan pembunuhan-OOM dan menyertakan informasi seperti pid, uid, tgid, ukuran vm, rss, nr_ptes, swapents, skor oom_score_adj, dan nama. Ini membantu untuk menentukan mengapa pembunuh OOM dipanggil, untuk mengidentifikasi tugas jahat yang menyebabkannya, dan untuk menentukan mengapa pembunuh OOM memilih tugas yang dilakukannya untuk membunuh.

Jika ini disetel ke nol, informasi ini ditekan. Pada sistem yang sangat besar dengan ribuan tugas, tidak mungkin untuk membuang informasi status memori untuk masing-masing tugas. Sistem seperti itu tidak boleh dipaksa untuk dikenakan penalti kinerja dalam kondisi OOM ketika informasi mungkin tidak diinginkan.

Jika ini disetel ke non-nol, informasi ini ditampilkan setiap kali pembunuh OOM benar-benar membunuh tugas memori-hogging.

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

tidak banyak membantu saya - masih belum ada parameter baris perintah di log.
untuk melihat secara retrospektif baris perintah proses yang terbunuh, Anda dapat menggunakan atas untuk merekam aktivitas sistem.
jika oom-killer membunuh s / th, cukup buka di atas log untuk saat itu, temukan Anda memproses dengan PID dari / var / log / syslog, dan tekan tombol 'c' untuk melihat baris perintah dari proses tersebut.

atti
sumber