Bagaimana saya bisa mengetahui total memori yang dialokasikan untuk proses tertentu di Ubuntu?
Bagaimana saya bisa mengetahui total memori yang dialokasikan untuk proses tertentu di Ubuntu?
Jawaban:
Mencoba:
pidof bash | xargs ps -o rss,sz,vsz
Untuk menemukan penggunaan memori dari bash
shell Anda saat ini (dengan asumsi Anda menggunakan bash
). Ubah bash
apa pun yang Anda selidiki. Jika Anda setelah satu proses tertentu, cukup gunakan sendiri:
ps -o rss,sz,vsz <process id>
Dari man
halaman:
RSS
: resident set size, memori fisik non-swapping yang digunakan oleh suatu tugas (dalam kiloBytes).
SZ
: ukuran di halaman fisik gambar inti dari proses. Ini termasuk teks, data, dan ruang stack.
VSZ
: ukuran memori virtual dari proses dalam KiB (unit 1024-byte).
The man
halaman untuk ps
akan menampilkan semua argumen yang mungkin dengan -o
pilihan (ada beberapa untuk memilih dari). Alih-alih -o rss,sz
Anda bisa menggunakan v
opsi gaya BSD (tanpa tanda hubung) yang menunjukkan tata letak memori alternatif.
Anda dapat menggunakan pmap
yang menunjukkan peta memori suatu proses:
pmap -p pid
Untuk informasi lebih lanjut tentang hal ini lihat halaman manual man pmap
atau lihat pmap (1): laporkan peta memori proses - halaman manual Linux .
bagaimana cara mengetahui total memori yang dialokasikan untuk proses tertentu di ubuntu?
Anda tidak menentukan berapa memori yang dialokasikan untuk suatu proses, dan sebenarnya itu adalah pertanyaan yang cukup kompleks (bagaimana dengan pemetaan memori bersama - lihat mmap (2) untuk detailnya; bagaimana dengan memori bersama POSIX - lihat shm_overview (7) untuk lebih lanjut ; bagaimana dengan beberapa halaman dalam cache halaman yang digunakan untuk file yang dibuka; dll ...)
Anda bisa menggunakan /proc/
sistem file (yang BTW digunakan oleh ps
, pmap
, top
, htop
dll ....). Baca proc (5) untuk lebih lanjut. Khususnya untuk proses pid 1234 Anda bisa menggunakan /proc/1234/status
, /proc/1234/statm
, /proc/1234/maps
dll ... Mereka semua tekstual pseudo-file (sedikit seperti pipa) yang dapat Anda lihat dengan cat
(atau membaca secara berurutan dalam beberapa program). BTW, dari dalam suatu program Anda dapat menggunakan /proc/self
(yang merupakan symlink semu), misalnya membaca secara berurutan /proc/self/status
dll ...
Lihat juga LinuxAteMyRam .