Buscar en este blog

9.7.14

Uso de memoria RAM por proceso en Linux

La salida del clásico comando:
ps aux
...suele ser suficiente para ver el consumo de memoria de cada proceso.

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0  10644   708 ?        Ss   jun30   0:05 init [2] 
root         2  0.0  0.0      0     0 ?        S    jun30   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    jun30   0:14 [ksoftirqd/0]
root         6  0.0  0.0      0     0 ?        S    jun30   0:07 [migration/0]
[...]

USER: Propietario del proceso
PID: Identificador del proceso
%CPU: Relación de tiempo que el proceso usa CPU respecto al que está corriendo. Ojo, no es sobre el total del sistema.
%MEM: Relación de memoria (no swapeada) que el proceso usa respecto al total del sistema.
VSZ: Memoria virtual usada por el proceso completo.
RSS: Resident Set Size. Memoria no swapeada usada por el proceso.
TTY: Terminal asociado.
STAT: Estado del proceso.
START: Fecha de inicio del proceso.
TIME: Total de CPU usado desde que se inició.
COMMAND: Comando que lanzó el proceso.

Buceando por Internet he encontrado algunas filigranas dignas de mención y enormemente útiles para obtener la misma información:

  • Ordenado por orden de consumo:
ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS

  • Human readable:
 ps -eo size,pid,user,command | sort -rn | awk '{ hr[1024^2]="GB"; hr[1024]="MB"; for (x=1024^3; x>=1024; x/=1024) { if ($1>=x) { printf ("%-6.2f %s ", $1/x, hr[x]); break } } } { printf ("%-6s %-10s ", $2, $3) } { for ( x=4 ; x<=NF ; x++ ) { printf ("%s ",$x) } print ("\n") }'
  • Un script python fantástico
 Private  +   Shared  =  RAM used    Program

 80.0 KiB +  22.5 KiB = 102.5 KiB    init
116.0 KiB +  12.5 KiB = 128.5 KiB    minissdpd
116.0 KiB +  14.5 KiB = 130.5 KiB    chrome-sandbox
148.0 KiB +  20.5 KiB = 168.5 KiB    in.tftpd
[...]
101.6 MiB + 734.5 KiB = 102.3 MiB    nxserver.bin (2)
111.0 MiB +   1.4 MiB = 112.5 MiB    remmina
118.9 MiB +   6.1 MiB = 125.0 MiB    Xorg
134.9 MiB +  21.0 MiB = 155.9 MiB    chrome (5)
199.1 MiB +   3.7 MiB = 202.9 MiB    thunderbird
468.7 MiB +   5.5 MiB = 474.3 MiB    firefox
---------------------------------
                          1.7 GiB
=================================