GNU/Linux >> Belajar Linux >  >> Linux

Cara mendiagnosis penyebab proses pembunuhan oom-killer

Solusi 1:

Tidak, algoritmenya tidak sesederhana itu. Anda dapat menemukan informasi selengkapnya di:

http://linux-mm.org/OOM_Killer

Jika Anda ingin melacak penggunaan memori, sebaiknya jalankan perintah seperti:

ps -e -o pid,user,cpu,size,rss,cmd --sort -size,-rss | head

Ini akan memberi Anda daftar proses yang menggunakan memori paling banyak (dan mungkin menyebabkan situasi OOM). Hapus | head jika Anda lebih memilih untuk memeriksa semua proses.

Jika Anda meletakkan ini di cron Anda, ulangi setiap 5 menit dan simpan ke file. Simpan setidaknya beberapa hari, sehingga Anda dapat memeriksa apa yang terjadi nanti.

Untuk layanan kritis seperti ssh, saya sarankan menggunakan monit untuk memulai ulang secara otomatis dalam situasi seperti itu. Mungkin menyelamatkan dari kehilangan akses ke mesin jika Anda tidak memiliki konsol jarak jauh.

Semoga berhasil,
João Miguel Neves

Solusi 2:

Saya mengalami kesulitan dengan itu baru-baru ini, karena proses yang dilakukan oom-killer belum tentu salah. Saat mencoba mendiagnosisnya, saya mempelajari tentang salah satu alat favorit saya, di atas.

Utilitas ini seperti atasan steroid. Selama interval waktu yang telah ditentukan sebelumnya, ini memprofilkan informasi sistem. Anda kemudian dapat memutarnya kembali untuk melihat apa yang terjadi. Ini menyoroti proses yang 80%+ berwarna biru dan 90%+ berwarna merah. Tampilan yang paling berguna adalah tabel penggunaan memori tentang berapa banyak memori yang dialokasikan pada periode waktu terakhir. Itu yang paling membantu saya.

Alat yang luar biasa -- tidak bisa mengatakan cukup tentang itu.

di atas monitor kinerja


Linux
  1. Bagaimana Cara Menguji Pembunuh Oom Dari Baris Perintah?

  2. Bagaimana cara melihat proses teratas yang diurutkan berdasarkan penggunaan memori yang sebenarnya?

  3. Membunuh proses di Raspbian

  1. Cara Menghapus Cache Memori di Linux

  2. Cara Menemukan Proses Berjalan Teratas berdasarkan Memori dan Penggunaan CPU

  3. Apakah Linux akan mulai mematikan proses saya tanpa bertanya apakah memori saya pendek?

  1. Cara Membunuh Proses yang Berjalan di Linux

  2. Bagaimana cara mendaftar proses yang dilampirkan ke segmen memori bersama di linux?

  3. Bagaimana saya bisa mengamati bandwidth memori?