RAM-DDR4.jpg

En este post veremos distintos métodos para obtener el uso de memoria RAM por proceso sobre sistemas operativos Linux.

Método1: Comando ps, ordenar por la columna pmem

ps aux --sort pmem

Ordena por uso de memoria RAM de menor a mayor en porcentaje.

El comando ps nos muestra los procesos que están funcionando en el momento en el equipo.

Los parámetros aux, significan:

a = Todos los procesos de todas las sesiones activas, no solo la actual.

u = Muestra el identificador del usuario (User ID).

x = Incluye las sesiones que no son TTY, por ejemplo las sesiones establecidas por SSH.

Con el parámetro --sort pmem ordenamos por uso de memoria.

Ejemplo de ejecución:

[root@LINUX1 ~]# ps aux --sort pmem
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0  19360  1084 ?        Ss   Apr25   0:01 /sbin/init
root         2  0.0  0.0      0     0 ?        S    Apr25   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    Apr25   0:05 [migration/0]
root         4  0.0  0.0      0     0 ?        S    Apr25   0:03 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S    Apr25   0:00 [migration/0]
root         6  0.0  0.0      0     0 ?        S    Apr25   0:01 [watchdog/0]
root         7  0.0  0.0      0     0 ?        S    Apr25   0:11 [migration/1]

Método2: Comando ps, utilizando pipes y filtros

Ordena por uso de memoria RAM de mayor a menor en porcentaje.

ps aux | awk '{print $2, $4, $11}' | sort -k2r | head -n 15

La salida de la ejecución de ps aux (parámetros explicados en el método anterior) es pasada el comando awk.

Con awk filtramos que muestre solo las columnas: 2, 4 y 11.

La salida es pasada el comando sort para ordenar. La columna de referencia para ordenar, será la segunda.

Finalmente, la salida es pasada al comando head para mostrar las primeras lineas, con el parámetro -n, indicamos el número de lineas a mostrar.

Ejemplo de ejecución:

[root@LINUX1 ~]# ps aux | awk '{print $2, $4, $11}' | sort -k2r | head -n 15

PID %MEM COMMAND

10967 1.8 drwebd.real

10968 1.8 drwebd.real

10969 1.8 drwebd.real

10970 1.8 drwebd.real

2192 1.8 drwebd.real

1935 1.0 /usr/libexec/mysqld

15463 0.8 /usr/sbin/httpd

15554 0.8 /usr/sbin/httpd

16160 0.8 /usr/sbin/httpd

13012 0.8 spamd

14487 0.7 /usr/sbin/httpd

14865 0.7 /usr/sbin/httpd

14929 0.7 /usr/sbin/httpd

15077 0.7 /usr/sbin/httpd

Método3: Con el comando top, podemos ordenar los procesos por uso de memoria RAM.

Si ejecutamos top y pulsamos la tecla "M" mayúscula, nos ordenará los procesos por uso de memoria RAM.

Otra opción, es ejecutar el comando top con el parámetro -a y directamente nos ordenará los procesos por uso de memoria RAM.

top -a

Vista ejecución:

linux-uso-de-memoria-por-proceso.png

 

Fuente: sysadmit

¿Quién está en línea?

Hay 24594 invitados y ningún miembro en línea