GNU/Linux >> Belajar Linux >  >> Linux

Memanggil dan melacak penggunaan memori dari satu proses

Ini harus melakukan apa yang Anda butuhkan. Itu mendapat informasi dari /proc/$PID/statm dan mencetak (dari man procfs ):

              size       total program size
                         (same as VmSize in /proc/[pid]/status)
              resident   resident set size
                         (same as VmRSS in /proc/[pid]/status)
              share      shared pages (from shared mappings)
              data       data + stack

Skrip:

#!/usr/bin/env bash 

## Print header
 echo -e "Size\tResid.\tShared\tData\t%"
 while [ 1 ]; do
    ## Get the PID of the process name given as argument 1
     pidno=`pgrep $1`
    ## If the process is running, print the memory usage
     if [ -e /proc/$pidno/statm ]; then
     ## Get the memory info
      m=`awk '{OFS="\t";print $1,$2,$3,$6}' /proc/$pidno/statm`
     ## Get the memory percentage
      perc=`top -bd .10 -p $pidno -n 1  | grep $pidno | gawk '{print \$10}'`
     ## print the results
      echo -e "$m\t$perc";
    ## If the process is not running
     else
      echo "$1 is not running";
     fi
 done

Anda kemudian dapat memanggil skrip, memberinya nama proses sebagai masukan. Misalnya:

$ memusage.sh firefox
Size    Resid.  Shared  Data    %
517193  261902  9546    400715  12.8
517193  261902  9546    400715  12.8
517193  261902  9546    400715  12.8
517193  262100  9546    400715  12.8
517193  262100  9546    400715  12.8
517193  262100  9546    400715  12.8
517209  261899  9546    400731  12.8
517209  261899  9546    400731  12.8

CATATAN:

  • Ini mengasumsikan bahwa hanya ada tunggal menjalankan proses dengan nama yang ditentukan.

Linux
  1. Ambil penggunaan CPU dan penggunaan memori dari satu proses di Linux?

  2. Menumbuhkan penggunaan memori residen (RSS) dari Proses Java

  3. Batasi penggunaan memori untuk satu proses Linux

  1. penggunaan dan pengubahan ukuran tmpfs

  2. Penggunaan memori puncak dari suatu proses

  3. Grafik penggunaan memori proses di Linux

  1. Linux – Batasi Penggunaan Memori Untuk Proses Linux Tunggal?

  2. Alat Yang Memungkinkan Pencatatan Penggunaan Memori?

  3. Penggunaan CPU Linux dan Riwayat Eksekusi Proses