GNU/Linux >> Linux Esercitazione >  >> Linux

Richiama e monitora l'utilizzo della memoria di un processo

Questo dovrebbe fare ciò di cui hai bisogno. Ottiene le informazioni da /proc/$PID/statm e stampa (da 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

La sceneggiatura:

#!/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

È quindi possibile chiamare lo script, assegnandogli un nome di processo come input. Ad esempio:

$ 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

NOTE:

  • Questo presuppone che ci sia solo un singolo processo in esecuzione con il nome specificato.

Linux
  1. Picco di utilizzo della memoria di un processo Linux/Unix

  2. Recuperare l'utilizzo della CPU e l'utilizzo della memoria di un singolo processo su Linux?

  3. Limita l'utilizzo della memoria per un singolo processo Linux

  4. utilizzo e ridimensionamento di tmpfs

  5. Picco di utilizzo della memoria di un processo

Come ottenere l'utilizzo della CPU di un singolo processo in Linux

Come tracciare e tracciare un processo Linux

Crescente utilizzo della memoria residente (RSS) di Java Process

Utilizzo elevato della memoria ma nessun processo lo sta utilizzando

Utilizzo della memoria del processo grafico su Linux

Ubuntu Linux:elabora la memoria di scambio e l'utilizzo della memoria