Sudahkah Anda mencoba ps -aefl dan melihat kolom SZ?
mdpc
2
Apa yang Anda maksud dengan “mencari tahu memori yang dialokasikan”? Apakah Anda ingin tahu berapa banyak memori yang digunakan proses?
Gilles 'SO- berhenti bersikap jahat'
Jawaban:
14
Mencoba:
pidof bash | xargs ps -o rss,sz,vsz
Untuk menemukan penggunaan memori dari bashshell Anda saat ini (dengan asumsi Anda menggunakan bash). Ubah bashapa pun yang Anda selidiki. Jika Anda setelah satu proses tertentu, cukup gunakan sendiri:
ps -o rss,sz,vsz <process id>
Dari manhalaman:
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 manhalaman untuk psakan menampilkan semua argumen yang mungkin dengan -opilihan (ada beberapa untuk memilih dari). Alih-alih -o rss,szAnda bisa menggunakan vopsi gaya BSD (tanpa tanda hubung) yang menunjukkan tata letak memori alternatif.
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, htopdll ....). Baca proc (5) untuk lebih lanjut. Khususnya untuk proses pid 1234 Anda bisa menggunakan /proc/1234/status, /proc/1234/statm, /proc/1234/mapsdll ... 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/statusdll ...
Jawaban:
Mencoba:
Untuk menemukan penggunaan memori dari
bash
shell Anda saat ini (dengan asumsi Anda menggunakanbash
). Ubahbash
apa pun yang Anda selidiki. Jika Anda setelah satu proses tertentu, cukup gunakan sendiri: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 untukps
akan menampilkan semua argumen yang mungkin dengan-o
pilihan (ada beberapa untuk memilih dari). Alih-alih-o rss,sz
Anda bisa menggunakanv
opsi gaya BSD (tanpa tanda hubung) yang menunjukkan tata letak memori alternatif.sumber
RSS
,SZ
danVSZ
.Anda dapat menggunakan
pmap
yang menunjukkan peta memori suatu proses:Untuk informasi lebih lanjut tentang hal ini lihat halaman manual
man pmap
atau lihat pmap (1): laporkan peta memori proses - halaman manual Linux .sumber
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 olehps
,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 dengancat
(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 .
sumber