Cargando



Cómo Analizar Memoria RAM Linux

Tutorial con vídeo para saber cómo Analizar Memoria RAM Linux de manera detallada paso a paso.


ene 19 2022 12:20
Avanzado
Total de Apartados : 2

Tener un sistema operativo que cumpla con nuestras expectativas es importante, para que de este modo podamos sentirnos cómodos durante su uso y podemos realizar todas aquellas tareas que necesitamos en cada momento de una manera productiva. Pero además de esto, es importante que dispongamos de la memoria RAM necesaria para poder ejecutar todo aquello que queramos en nuestro PC.

 

Tutorial con con vídeo para borrar la memoria caché Windows 10, Mac y Linux y la caché DNS.

 

La memoria RAM es una de las piezas fundamentales en cualquier sistema operativo pueda ser ejecutado de una forma completa y con la velocidad que se necesita, lógicamente existen escenarios donde se requiere un nivel de RAM mucho mas alto de RAM como lo son entornos de juego, de servidores, etc.

 

En el caso de Linux detectar con precisión el uso y comportamiento de la memoria RAM puede llegar a ser complejo y es en este caso donde Solvetic te explicará cómo realizar esta tarea de forma simple.

 


1. Cómo analizar memoria RAM en Linux

 

Paso 1

En primer lugar vamos a revisar el sistema de archivos /proc/meminfo usando cat de la siguiente manera:
cat /proc/meminfo

 

Paso 2

Para listar los procesos con sus PID vamos a ejecutar el comando “ps”:

 

 

Paso 3

Allí tendremos el PID del proceso, ahora usaremos el comando pmap para gestionar dicha RAM.
El comando pmap se encarga de brindar un informe del mapa de memoria de un proceso en Linux, la sintaxis a usar es:
pmap [ -x | -d ] [ -q ] pids...
Ejecutaremos pmap usando la opción -x (extendida) con el fin de acceder a detalles más completos del uso de memoria de un proceso especifico:
pmap -x PID

 

Paso 4

En la parte final es posible ver en detalle la memoria RAM que está usando ese proceso.

 

Algunos de los campos que muestra pmap son:

Dirección
Es la dirección de inicio del mapa

Kbytes
Es el tamaño del mapa en kilobytes

RSS
Es el tamaño del conjunto residente en kilobytes

Sucio
Son páginas sucias (compartidas y privadas) en kilobytes

Modo
Son los permisos en el mapa tales como leer, escribir, ejecutar, compartido, privado (copiar en escritura)

Asignaciones
Es el archivo que respalda el mapa

Desplazamiento
Indica el desplazamiento en el archivo

Dispositivo
Hace referencia al nombre del dispositivo (mayor:menor)

 

Es posible usar el comando ps con la opción -o (salida - output), allí vamos a seleccionar la columna RSS e ingresamos el PID:

ps -o rss PID

 

Con RSS no se tiene acceso a detalles del proceso como las tablas de páginas, la pila del núcleo, la estructura thread_info o la estructura task_struc, es un resumen mucho más directo.

 

Paso 5

RSS (Resident Set Size - tamaño del conjunto residente), hace referencia a la cantidad de memoria RAM que se brinda a un proceso, esto excluye el espacio de intercambio Swap, pero se añade la memoria RAM usada por las bibliotecas compartidas del proceso.

 

Algunas opciones extras de usar pmap son:

  • -x: extendido: despliega el formato extendido
  • -d: dispositivo: despliega el formato del dispositivo
  • -q: quiet: no muestra algunas líneas de encabezado/pie de página
  • -V: permite ver la versión de pmap

2. Uso de smem para acceder a detalles de la memoria RAM


Esta es una utilidad que genera informes sobre el uso de la memoria junto a la memoria compartida, la memoria no compartida se informa como USS (Unique Set Size), con esta utilidad la memoria se puede informar por proceso, por usuario, por mapeo o bien en todo el sistema Linux si es necesario.

 

Paso 1

Instalamos smem:
sudo apt install smem

 

Paso 2

Ingresamos la letra S para confirmar la descarga:

 

 

Paso 3

Veremos el siguiente mensaje:

 

 

Paso 4

Damos clic en Si y esperamos que el proceso llegue a su final:

 

 

Paso 5

Podemos ejecutar smem sin parámetros para acceder a detalles completos del uso de memoria RAM:

 

 

Paso 6

Encontramos las columnas:
  • PID: Indica el ID de proceso que usa la memoria
  • Usuario: es el nombre de usuario propietario del proceso
  • Comando: Es la línea de comando que inició el proceso
  • Intercambio (Swap): permite ver la cantidad de espacio de intercambio usada por el proceso
  • USS: es el tamaño único del conjunto
  • PSS: es el tamaño del conjunto proporcional
  • RSS: es el tamaño del conjunto residente
Para ver los valores en porcentaje ejecutamos:
smem -p

 

Paso 7

Para ver los detalles con indicadores de unidad usaremos la opción -k:
smem -k

 

Paso 8

Para añadir la línea de totales ejecutamos:
smem -k -t

 

Paso 9

Como mencionamos, smem puede dar detalles sobre el uso de la memoria ya sea de un usuario, por las bibliotecas o de todo el sistema, para filtrar por usuario ejecutamos:
smem -u

 

Paso 10

Ahora podemos agregar SUDO para acceder a más detalles:
sudo smem -u

 

Paso 11

Para ver el uso asignado a las bibliotecas, ejecutaremos:
smem -m -k -t

 

Paso 12

Para ver el uso de memoria en todo el sistema vamos a ejecutar:
smem -w -k -t

 

Paso 13

Es posible usar la opción -c (columnas) y luego indicar qué columnas serán agregadas al resultado, por ejemplo ejecutaremos:
smem -c pss -P firefox -k -t | tail -n 1
La opción -P (filtro de proceso) permite indicar una cadena de búsqueda con smem:

 

 

 

Veremos el tamaño de dicha búsqueda.

 

Paso 14

Es posible usar las opciones --pie o –bar para acceder a un reporte grafico del uso de memoria con smem, ejecutamos:
smem --pie name -s uss

 

Paso 15

Al pulsar Enter veremos el uso de RAM en formato grafico:

 

Analizar-Memoria-RAM-Linux-19.jpg

 

Esto da un resultado mucho mas dinámico para ver el uso de RAM en Linux.

 

Para usar smem en Linux es necesario:

  • Kernel de Linux con la métrica 'Pss' en /proc/<pid>/smaps (versiones 2.6.27 o posterior)
  • Python 2.x (2.4 o superior)
  • La biblioteca matplotlib (para generar tablas gráficas)
Así es la forma cómo podemos ver el uso de la memoria RAM en Linux. De este modo podrás acceder a esta información siempre que lo necesites.

 

Tutorial para saber la capacidad máxima de memoria RAM de mi PC, Mac o Linux


¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X