Pertanyaan ini dibahas di sini dengan sangat rinci.
Bagaimana Anda mengukur penggunaan memori suatu aplikasi atau proses di Linux?
Dari artikel blog Memahami penggunaan memori di Linux , ps
bukan alat yang akurat untuk digunakan untuk maksud ini.
Kenapa
ps
"salah"Tergantung pada bagaimana Anda melihatnya,
ps
tidak melaporkan penggunaan proses memori nyata. Apa yang sebenarnya dilakukannya adalah menunjukkan berapa banyak memori nyata setiap proses akan mengambil jika itu adalah satu-satunya proses yang berjalan . Tentu saja, mesin Linux tipikal memiliki beberapa lusin proses yang berjalan pada waktu tertentu, yang berarti bahwa nomor VSZ dan RSS yang dilaporkanps
hampir pasti salah .
ps
tidak menunjukkan bahkan itu - itu menunjukkan nomor memori virtual dan penduduk, di mana virtual adalah jumlah maksimum memori proses secara teoritis dapat menggunakannya itu adalah satu-satunya proses (tidak pernah begitu), digunakan setiap halaman yang dialokasikan (tidak pernah terjadi) dan tidak memetakan atau menghapus peta halaman mana pun (tidak mungkin). Sementara resident menunjukkan berapa banyak memori virtual yang dipetakan ke fisik saat ini. virt > usage > res
Namun biasanya pada sistem 64-bit virt ~= res*10
itu jangkauannya sangat luas.