Bagaimana cara mengukur memori puncak aplikasi yang berjalan di Linux?
Saya menjalankan aplikasi ini dalam batch sehingga saya tidak dapat menggunakan RSS karena, itu melaporkan memori saat ini. Saya membutuhkan memori puncak bahwa aplikasi telah digunakan untuk dilaporkan pada akhirnya.
VmPeak juga bukan solusi, karena melaporkan memori yang dialokasikan dan juga tidak menghitung dari Ram asli tetapi juga dari Hard Disk.
Jawaban:
Berikut adalah 2 metode untuk melacak penggunaan memori puncak suatu proses.
Seperti sirop
Saya belum pernah menggunakan alat ini, tetapi kedengarannya seperti yang Anda cari. Itu disebut Syrupy .
Deskripsi
Contoh
/usr/bin/time -v
Ya ironisnya perintah waktu GNU dapat memberi Anda penggunaan memori puncak suatu proses. Ini laporan memori puncak seperti:
Maximum resident set size (kbytes)
.Contoh
Referensi
sumber
Meskipun topiknya sudah cukup lama, saya ingin berbagi proyek lain yang muncul dari fitur cgroups Linux kernel.
https://github.com/gsauthof/cgmemtime :
Contoh penggunaan adalah:
sumber
wait4
untuk menangkap proses keluar dalam kombinasi dengan cgroups (memory.max_usage_in_bytes
), yang tampaknya masuk akal. Rincian lebih lanjut tersedia di README di github.