Bagaimana cara memonitor memori yang dikonsumsi oleh suatu proses?


16

Saya memiliki proses yang saya ingin melihat berapa banyak memori yang dikonsumsi saat sedang berjalan.

Sekarang saya melakukan ini:

ps faux | grep casper

Tapi itu hanya memberi saya informasi saat itu. Akan menyenangkan untuk melihat bahwa nilai berubah ketika skrip berlanjut.

Adakah yang bisa saya lakukan ini?

Jawaban:


15

Metode 1

Lari:

top

Periksa PID program (kolom pertama), lalu jalankan:

top -p PID

Metode 2

Rekatkan ini ke terminal atau simpan sebagai mem_usage.sh dan jalankan dari terminal.

#! /bin/bash
while :
do
    clear
    ps faux | grep casper
    sleep 1s
done

1
Bagaimana Anda bisa mengubahnya dari menampilkan%? Tidak menarik :-)
Wilf

Saya mengerti ketika menjalankan skrip: bash: ./memory_usage.sh: bin / bash: bad interpreter: Tidak ada file atau direktori seperti itu
Hommer Smith

Bah! Saya telah mengeditnya! Seharusnya sudah memeriksanya dengan benar sebelum memposting. Baris pertama harus mengatakan di mana harus menjalankannya dari / bin / bash (saya punya bin / bash sehingga memeriksa secara lokal di folder bernama bin for bash)
Julian Stirling

1
@ wilf ps faux | grep casper | awk '{print $ 11} {print $ 6}' Itu seharusnya memberi Anda satu baris nama program dan selanjutnya ukuran memori nyata dalam kB.
Julian Stirling

6

Untuk memantau hanya proses Anda, Anda dapat memeriksa / proc / PID / status atau / proc / PID / statm.

Tentang / proc / PID / statm:

Setelah melakukan, cat /proc/PID/statmAnda akan melihat ini:

611450 185001 883 18 0 593431 0

Penjelasan:

  1. ukuran: - total ukuran program (611450 X 4096/1024 = 2445800kB = 2388M)
  2. resident: - ukuran set resident (185001 X 4096/1024 = 740004kB = 722M)
  3. bagikan: - halaman bersama (883 X 4096 = 3532)
  4. trs: - teks (kode) (18 X 4096/1024 = 72kB = VmExe)
  5. drs: - data / tumpukan
  6. lrs: - perpustakaan (593431 X 4096/1024 = 2373724kB = VmData + VmStk)
  7. dt: - halaman kotor

Anda juga dapat mencatat aktivitas memori untuk proses Anda melakukan loop menggunakan tanggal dan kucing.


4

Anda bisa menggunakan 'top'

man top

Program ini memungkinkan Anda untuk mengurutkan penggunaan sumber daya, antara lain, RSS, VSZ, CPU, dll. Ini sangat berguna.

Atau, untuk perincian penggunaan memori yang lebih rinci, coba 'pmap'

man pmap

Contoh penggunaan:

pmap -x 1234

Bersulang

sc.


1
Dengan pmap -x PID, maksud Anda penggunaan sangat rinci :-)
Wilf

memang - tidak pernah dapat memiliki cukup detail :)
swisscheese

1
Di tambang (Ubuntu 16.04.5 LTS) "pmap -x" dengan PID tidak menunjukkan apa pun selain PID dan perintah. -X melakukan hal yang sama.
orrd

2

Buka System Monitor, dan buka Processestab:


1

Cobalah:

watch 'ps faux | grep -v grep | grep casper'

Anda juga dapat mengubah interval penyegaran menggunakan --interval <seconds>parameter.


1
Anda tidak memerlukan -v grep jika Anda mengubah yang terakhir untuk grep [c] asper. Itu cocok dengan casper tetapi tidak dengan sendirinya.
Wudang
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.