Categories
Uncategorized

Saber memoria de un proceso multihilo en linux

Chrome linux

Algo tan sencillo como ejecutar una orden “ps aux” o un “top” nos puede ayudar a ver, a groso modo, la cantidad de memoria empleada por los procesos que se están ejecutando en un momento dado.

El problema radica en que muchos programas están compuestos de varios subprocesos, y cada uno tiene recursos asignados de forma independiente, con lo que al final vemos una lista interminable en lugar de un total.

Para poder ver el total de bytes de memoria que un proceso (o conjunto de procesos) está usando, lo más rápido es usar “ps” y un poco de “awk” para sumarlo en un total:

ps aux | grep “google\/chrome” | tr -s ” ” | cut -d’ ‘ -f6 | awk ‘{s+=$1} END {print s}’

Desgranándolo:

  • ps aux: mostrar procesos de todos los usuarios(a), con detalle orientado a usuario(u), aunque no tengan terminal(x)
  • grep “google\/chrome”: el nombre del proceso que queremos filtrar
  • tr -s ” “: quitar espacios en blanco repetidos
  • cut -d’ ‘ -f6: seleccionar el 6º campo separado por espacios
  • awk ‘{s+=$1} END {print s}’: suma todas las líneas e imprime un total

Leave a Reply

Your email address will not be published.