Jika kernel membunuh proses (karena sistem kehabisan memori), akan ada pesan log kernel. Lapor masuk /var/log/kern.log
(di Debian / Ubuntu, distribusi lain mungkin mengirim log kernel ke file yang berbeda, tetapi biasanya di /var/log
bawah Linux).
Perhatikan bahwa jika OOM-killer (out-of-memory killer) terpicu, itu berarti Anda tidak memiliki cukup memori virtual. Tambahkan lebih banyak swap (atau mungkin lebih banyak RAM).
Beberapa proses crash juga dicatat dalam log kernel (misalnya kesalahan segmentasi).
Jika proses dimulai dari cron, Anda harus memiliki email berisi pesan kesalahan. Jika proses dimulai dari shell di terminal, periksa kesalahan di terminal itu. Jalankan proses screen
untuk melihat terminal lagi di pagi hari. Ini mungkin tidak membantu jika pembunuh-OOM dipicu, karena mungkin membunuh proses cron atau layar juga; tetapi jika Anda bertemu dengan OOM-killer, itulah masalah yang perlu Anda perbaiki.
/var/log/kern.log
?Proses Akuntansi dapat membantu di sini.
Secara singkat:
Kemudian coba perintah seperti:
atau di Ubuntu:
Lihat:
MEMPERBARUI
Anehnya,
pacct
file tersebut memiliki informasi tentang status keluar, tetapi sepertinya tidaklastcomm
jugasa
untuk mencetaknya.Jadi sejauh yang saya bisa lihat, Anda harus menulis program C Anda sendiri untuk mengakses informasi.
PEMBARUAN 2
Berikut adalah versi yang mencetak kode keluar.
Dua bidang terakhir adalah "S" untuk sinyal dan "E" untuk keluar, diikuti oleh nomor sinyal atau status keluar.
Jadi dalam kasus Anda, Anda mungkin mencari "S 15" yang berarti ia mendapat SIGTERM.
Dibandingkan dengan "E 0" yang berarti proses keluar tanpa kesalahan.
Hanya diuji secara minimal.
sumber
Perintah ini akan memberi tahu Anda apa layanan yang sedang berjalan dan yang tidak dimulai atau dihentikan ..
sumber