GNU/Linux >> Tutoriales Linux >  >> Linux

Invocar y rastrear el uso de memoria de un proceso

Esto debería hacer lo que necesitas. Obtiene la información de /proc/$PID/statm e imprime (desde 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

El guión:

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

Luego puede llamar al script, dándole un nombre de proceso como entrada. Por ejemplo:

$ 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

NOTAS:

  • Esto supone que solo hay un simple proceso en ejecución con el nombre especificado.

Linux
  1. Linux:¿limitar el uso de memoria para un solo proceso de Linux?

  2. ¿Herramienta que permite el registro del uso de la memoria?

  3. Encuentre los 10 principales procesos en ejecución por memoria y uso de CPU

  4. Uso máximo de memoria de un proceso Linux/Unix

  5. ¿Recuperar el uso de la CPU y el uso de la memoria de un solo proceso en Linux?

Uso de memoria de Linux

Cómo obtener el uso de la CPU de un solo proceso en Linux

Cómo rastrear y rastrear un proceso de Linux

Alto uso de memoria pero ningún proceso lo está usando

Graficando el uso de la memoria del proceso en Linux

Uso de la CPU de Linux e historial de ejecución de procesos