Bagaimana cara membaca penggunaan memori di htop?

30

Ini output htop saya:

masukkan deskripsi gambar di sini

Misalnya, saya bingung dengan skrip ruby ​​ini:

masukkan deskripsi gambar di sini

Berapa banyak memori fisik yang digunakan? 3+1+8+51+51? 51? 51+51?

Lai Yu-Hsuan
sumber
Maka RESkolom adalah yang ingin Anda lihat.
David Schwartz
ya, saya melihatnya. Tapi yang mana penggunaan memori oleh skrip saya? Mengapa ada dua 51? Apakah ini mengkonsumsi 102 megabita? Atau hanya 51 megabita? Dalam RES proses luar berisi RES proses batin, mengapa 3, 1, 8semua kurang dari 51?
Lai Yu-Hsuan
2
Ada dua 51 karena proses bercabang. Kemungkinan besar tidak mengkonsumsi 102 megabita karena kedua proses masing-masing menggunakan 51 megabita yang sama, tetapi Anda tidak dapat dengan mudah mengatakannya. Proses lainnya, RES berisi proses dalam jika ingatan itu juga ada di proses lain dan tidak jika itu tidak. Kolom RES memberi tahu Anda berapa banyak memori fisik yang digunakan setiap proses, tetapi proses lain mungkin (atau mungkin tidak) menggunakan memori fisik yang sama juga.
David Schwartz
1
Jika Anda ingin tahu apakah kedua proses menggunakan memori yang sama, gunakan pmap -d <process id>
Sirch
1
@ LaiYu-Hsuan: Ya, Anda salah. Halaman tidak disalin, mereka dibagikan. Mereka hanya disalin jika salah satu proses menulis ke halaman, maka mereka harus dibagikan. (Ini disebut "copy on write" atau "CoW".)
David Schwartz

Jawaban:

45

Sembunyikan utas pengguna (shift + H) dan tutup tampilan hierarki proses (F5), maka Anda dapat memilah proses yang diinginkan oleh PID dan membaca kolom RES (menyortir berdasarkan MEM% dengan menekan shift + M, atau F3 untuk mencari dalam garis cmd)

nrc
sumber
4
Shift-H adalah apa yang sudah lama saya cari. Terima kasih!
seorang nerd yang dibayar
4

Memori adalah hal yang sulit, Anda tidak dapat menghitung memori fisik yang digunakan hanya dengan menjalankan ps / htop / top. Memori dapat dibagi antara proses.

Saya sarankan Anda untuk memeriksa penggunaan dengan skrip ini:

http://www.pixelbeat.org/scripts/ps_mem.py

GioMac
sumber