Bagaimana cara melacak lonjakan memori?

8

Saya memiliki aplikasi yang berjalan di cloud rackspace (ubuntu 10.04). Untuk beberapa alasan, selama 3 malam terakhir, memori telah memuncak dan kemudian mendatar sekitar 7 jam sebelum akhirnya jatuh. Tampaknya mulai pada tengah malam dan berlangsung hingga pukul 7 pagi (abaikan waktu pada grafik - mereka mati 4 jam).

teks alternatif

Melihat melalui bagan Munin , tampaknya tidak ada peningkatan aktivitas di mysql, dan lalu lintas ethernet tampaknya tidak spike sama sekali selama waktu itu (yang tampaknya akan meniadakan sesuatu seperti bot atau crawler).

Alat apa yang tersedia untuk linux untuk memecahkan masalah seperti ini?

jerhinesmith
sumber

Jawaban:

3

Saya tidak sepenuhnya yakin itu akan menjadi sangat cocok, tetapi paket proses akuntansi (kebanyakan bernama psacct atau acct) dapat menyimpan catatan siapa (akun mana) yang menjalankan apa (program apa). Ini mungkin membantu Anda mengetahui apa yang sedang berjalan pada waktu yang Anda tentukan.

wzzrd
sumber
Ini sebenarnya mungkin ide yang bagus. psacct biasanya digunakan untuk merekam, melaporkan atau bahkan membatasi melalui kuota penggunaan CPU atau clock ticks. Itu adalah cara lama untuk memastikan pelanggan / pengguna server UNIX membayar penggunaan yang dia lakukan. Satu catatan tentang ini, psacct diaktifkan untuk setidaknya mencatat semuanya adalah disk-hogger besar dalam penggunaan ruang disk.
reiche
1

Secara umum saya tidak tahu alat apa yang bisa membantu Anda, kecuali login pssecara teratur dan menganalisis kemudian proses kegiatan.

Namun, saya bisa menebak tentang lonjakan sekitar pukul 6:00 pagi pada grafik Anda, itu bisa menjadi pekerjaan cron harian default Ubuntu. Di mesin saya /etc/crontab, daily.ddikonfigurasi untuk dijalankan pada 6:25 pagi. Tapi Anda bilang kita harus mengabaikan waktu, jadi pertanyaan yang jelas adalah, apakah Anda memiliki pekerjaan cron?

elmarco
sumber
Itu adalah pemikiran pertamaku juga. Namun, pekerjaan cron harian saya berjalan pada pukul 13:00 waktu setempat. Ada beberapa pekerjaan yang dijalankan oleh aplikasi, tetapi mereka mulai pada pukul 6:00 sore atau 2:00 pagi.
jerhinesmith
2
Jika Anda menyusuri psrute reguler , "HowTo: Memory Profil dalam Sistem Linux" HOWTO masuk ke sedikit lebih detail: mail.nl.linux.org/linux-mm/2003-03/msg00077.html
Geoff Childs
1

Jawaban default saya untuk pertanyaan tersebut adalah sar( System Activity Reporter ) dari paket sysstat .

Tapi sejauh yang saya tahu, sartidak mengumpulkan setara dengan output ps. Jadi mungkin kombinasi sardan jawaban elmarcos (secara teratur menangkap output ps) akan membantu.

EDIT:

Steve D telah disebutkan pidstatdalam pertanyaan ini . Ini sepertinya lebih cocok untuk kebutuhan Anda.

Kristen
sumber
menambahkan perintah lain yang disebutkan dalam pertanyaan lain.
Christian