Monitorear el uso de memoria es una tarea importante para administradores de sistemas Linux y usuarios que desean mejorar el rendimiento de su sistema. Linux cuenta con varias herramientas de línea de comandos que muestran información en tiempo real sobre el uso de memoria, permitiéndote rastrear y estudiar el consumo de memoria. En este artículo, veremos algunas de las herramientas de línea de comandos más útiles para verificar el uso de memoria en sistemas Linux, incluyendo cat, free, vmstat, top, htop, sar, y cómo interpretar el archivo /proc/meminfo.
Puntos clave
- El comando
cat /proc/meminfomuestra métricas de memoria en tiempo real, como la RAM total utilizable, memoria libre y memoria en caché. - El comando
freeproporciona una salida fácil de leer con estadísticas de uso de memoria, incluyendo memoria total, usada, libre, compartida, buff/cache y disponible. - El comando
vmstatgenera un resumen del uso de memoria del sistema, incluyendo procesos, memoria, paginación, E/S de bloques, traps y actividad del CPU. - El comando
topes una herramienta interactiva que muestra información en tiempo real sobre la utilización de recursos del sistema, incluyendo el uso de CPU y memoria por proceso. - El comando
htopes una versión mejorada detop, que ofrece una interfaz más amigable y características adicionales como codificación por colores y gestión de procesos mediante atajos.
Uso de herramientas de línea de comandos para verificar el uso de memoria
Linux cuenta con varias herramientas de línea de comandos que te permiten verificar el uso de memoria en tiempo real. Estas herramientas son importantes para administradores de sistemas y usuarios que desean monitorear y optimizar el rendimiento de su sistema.
Comando cat
El comando cat es una forma simple de ver el contenido del archivo /proc/meminfo, que contiene información en tiempo real sobre el uso de memoria del sistema.
cat /proc/meminfo
Este comando mostrará varias métricas de memoria, tales como:
- MemTotal: RAM total utilizable
- MemFree: La cantidad de RAM física sin usar
- MemAvailable: Una estimación de cuánta memoria está disponible para iniciar nuevas aplicaciones, sin usar swap
- Buffers: La cantidad de almacenamiento temporal para bloques de disco sin procesar
- Cached: La cantidad de RAM física usada como memoria caché
Aquí hay un ejemplo de salida:
MemTotal: 8116552 kB
MemFree: 385440 kB
MemAvailable: 1890092 kB
Buffers: 259300 kB
Cached: 1345384 kB
...
Comando free
El comando free proporciona una salida más amigable de las estadísticas de uso de memoria. Muestra la memoria total, usada, libre, compartida, buff/cache y disponible.
free -h
La opción -h muestra la salida en un formato fácil de leer. Aquí hay un ejemplo de salida:
total used free shared buff/cache available
Mem: 7.8Gi 6.1Gi 387Mi 1.0Gi 1.3Gi 1.8Gi
Swap: 2.0Gi 1.1Gi 912Mi
También puedes usar otras opciones como -b (bytes), -k (kibibytes), -m (mebibytes), o -g (gibibytes) para cambiar las unidades de salida.
Comando vmstat
El comando vmstat reporta estadísticas de memoria virtual y otra información del sistema. Proporciona un resumen del uso de memoria del sistema, incluyendo procesos, memoria, paginación, E/S de bloques, traps y actividad del CPU.
vmstat
Aquí hay un ejemplo de salida:
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 1132052 395700 259300 1345384 0 1 33 52 85 176 9 5 85 1 0
La sección de memoria muestra la cantidad de espacio swap usado (swpd), memoria libre (free), memoria de buffer (buff) y memoria caché (cache).
Comando top
El comando top es una herramienta interactiva que muestra información en tiempo real sobre la utilización de recursos del sistema, incluyendo el uso de CPU y memoria por proceso.
top
Aquí hay un ejemplo simplificado de salida:
top - 10:30:00 up 2 days, 18:00, 1 user, load average: 0.50, 0.68, 0.83
Tasks: 287 total, 1 running, 286 sleeping, 0 stopped, 0 zombie
%Cpu(s): 8.7 us, 5.0 sy, 0.0 ni, 85.3 id, 1.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 7854.2 total, 386.4 free, 6119.4 used, 1348.4 buff/cache
MiB Swap: 2048.0 total, 938.2 free, 1109.8 used. 1711.6 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1234 user 20 0 1234.5m 123.4m 12.3m S 5.0 1.6 1:23.45 process_name
El comando top proporciona una vista dinámica de los procesos del sistema y su consumo de recursos. Puedes ordenar los procesos por uso de memoria usando la tecla M y gestionar procesos usando varios comandos interactivos.
Comando htop
El comando htop es una versión mejorada del comando top, que ofrece una interfaz más amigable y características adicionales.
htop
El comando htop muestra una vista en tiempo real con codificación por colores de los procesos del sistema y el uso de recursos. Admite desplazamiento vertical y horizontal, búsqueda de procesos y gestión de procesos mediante atajos.
Comando sar
El comando sar es un reportero de actividad del sistema que monitorea varios aspectos del rendimiento del sistema, incluyendo el uso de memoria.
sar -r 1 5
Este comando mostrará estadísticas de utilización de memoria cada 1 segundo durante 5 iteraciones. Aquí hay un ejemplo de salida:
07:30:01 PM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty
07:30:02 PM 385600 6127104 94.07 259300 1345384 16327220 130.59 5132848 1347188 0
07:30:03 PM 385724 6126980 94.07 259300 1345380 16327220 130.59 5134528 1347168 0
07:30:04 PM 385620 6127084 94.07 259300 1345384 16327220 130.59 5132784 1347188 0
07:30:05 PM 385752 6126952 94.07 259300 1345380 16327220 130.59 5134336 1346992 0
07:30:06 PM 385600 6127104 94.07 259300 1345384 16327220 130.59 5132624 1347184 0
Average: 385659 6127045 94.07 259300 1345382 16327220 130.59 5133424 1347144 0
La salida incluye métricas como kbmemfree (memoria libre en kilobytes), kbmemused (memoria usada en kilobytes) y %memused (porcentaje de memoria usada).
Archivo /proc/meminfo
El archivo /proc/meminfo es un archivo virtual que proporciona información en tiempo real sobre el uso de memoria del sistema. Puedes analizar este archivo usando herramientas como awk o grep para obtener métricas específicas.
El archivo /proc/meminfo contiene varias métricas de memoria, como MemTotal, MemFree, Buffers, Cached, Active e Inactive. Estas métricas proporcionan una visión detallada del uso de memoria del sistema.
Aquí hay un ejemplo de uso de awk para obtener métricas específicas:
awk '/MemTotal/{print $2}' /proc/meminfo
Este comando imprimirá el valor de la métrica MemTotal en kilobytes.
Estas herramientas de línea de comandos ofrecen una forma potente y flexible de monitorear el uso de memoria en sistemas Linux. Al aprender estas herramientas, los administradores de sistemas y usuarios pueden rastrear y optimizar la utilización de memoria de su sistema.
Uso de herramientas GUI para verificar el uso de memoria
Aunque las herramientas de línea de comandos son potentes y flexibles, Linux también ofrece herramientas gráficas para monitorear el uso de memoria. Estas herramientas son útiles para usuarios que prefieren una interfaz visual o se sienten menos cómodos con la línea de comandos.
Aplicación Monitor del Sistema
La aplicación Monitor del Sistema es una aplicación gráfica que proporciona una visión general en tiempo real del uso de recursos del sistema, incluyendo el consumo de memoria. Está disponible en la mayoría de las distribuciones de Linux con un entorno de escritorio, como GNOME, KDE o Xfce.
Para acceder a la aplicación Monitor del Sistema:
- Abre el menú de Aplicaciones o el panel de control.
- Busca "Monitor del Sistema" o ve a la categoría de Herramientas del Sistema.
- Inicia la aplicación Monitor del Sistema.
La aplicación Monitor del Sistema muestra varias métricas del sistema, incluyendo el uso de CPU, uso de memoria, actividad de red y E/S del disco. En la pestaña Memoria, puedes ver la siguiente información:
| Métrica | Descripción |
|---|---|
| Memoria total | La cantidad total de memoria física (RAM) instalada en el sistema. |
| Memoria usada | La cantidad de memoria actualmente en uso por aplicaciones y el SO. |
| Memoria en caché | La cantidad de memoria usada para cachear datos del disco y mejorar el rendimiento. |
| Memoria en buffer | La cantidad de memoria usada para almacenamiento temporal de bloques de disco sin procesar. |
| Memoria libre | La cantidad de memoria actualmente sin usar. |
| Uso de swap | La cantidad de espacio swap usado y disponible. |
Ejemplo
Digamos que tienes un sistema Linux con 8 GB de memoria total. Cuando abres la aplicación Monitor del Sistema, ves el siguiente desglose del uso de memoria:
- Memoria usada: 4.5 GB
- Memoria en caché: 1.2 GB
- Memoria en buffer: 0.3 GB
- Memoria libre: 2 GB
Esto muestra que de los 8 GB de memoria total, 4.5 GB están siendo activamente usados por aplicaciones y el sistema operativo, 1.2 GB se usan para cachear datos del disco, 0.3 GB se usan para almacenar bloques del disco en buffer, y 2 GB están actualmente libres y disponibles para usar.
La aplicación Monitor del Sistema también proporciona una representación gráfica del uso de memoria a lo largo del tiempo, permitiéndote identificar tendencias y posibles problemas.
Monitor del Sistema GNOME
El Monitor del Sistema GNOME es una herramienta GUI más avanzada para monitorear recursos del sistema y procesos. Es parte del entorno de escritorio GNOME pero puede instalarse también en otras distribuciones de Linux.
Para iniciar el Monitor del Sistema GNOME:
- Abre el menú del Sistema o el lanzador de aplicaciones.
- Ve a la categoría de Administración o Herramientas del Sistema.
- Selecciona la aplicación "Monitor del Sistema".
También puedes iniciar el Monitor del Sistema GNOME desde la línea de comandos usando el siguiente comando:
gnome-system-monitor
El Monitor del Sistema GNOME proporciona información detallada sobre el uso de recursos del sistema, incluyendo el consumo de memoria. En la pestaña Recursos, puedes ver:
- Historial de Memoria y Swap: Una representación gráfica del uso de memoria y swap a lo largo del tiempo.
- Memoria: La memoria total, usada y libre, así como la cantidad de memoria usada para caché y buffers.
- Swap: El espacio swap total, usado y libre.
Ejemplo
Supongamos que estás ejecutando una aplicación que consume mucha memoria en tu sistema Linux, y notas que el sistema se siente lento. Inicias el Monitor del Sistema GNOME para investigar el problema. En la pestaña Recursos, observas lo siguiente:
- Memoria total: 16 GB
- Memoria usada: 14.5 GB
- Memoria libre: 1.5 GB
- Swap usado: 2 GB
Esta información sugiere que la aplicación que consume mucha memoria está usando una gran porción de la memoria disponible, causando que el sistema utilice espacio swap. El alto uso de memoria y la utilización de swap pueden llevar a un rendimiento reducido del sistema.
El Monitor del Sistema GNOME también te permite ver y gestionar procesos, ayudándote a encontrar aplicaciones que pueden estar usando demasiada memoria. Puedes ordenar los procesos por uso de memoria para identificar las aplicaciones que más consumen memoria y tomar las acciones apropiadas, como cerrar programas innecesarios u optimizar el uso de memoria de la aplicación.
Usando herramientas GUI como la aplicación Monitor del Sistema y el Monitor del Sistema GNOME, los usuarios de Linux pueden rastrear y analizar fácilmente el uso de memoria en sus sistemas. Estas herramientas ofrecen una interfaz amigable y representaciones visuales, haciendo más fácil comprender y monitorear el consumo de memoria.
Otros comandos y herramientas
Además de las herramientas populares de línea de comandos y GUI que hemos cubierto, existen varias otras herramientas para monitorear el uso de memoria en sistemas Linux. Una de estas herramientas es el comando btop.
Comando btop
El comando btop es un monitor de recursos moderno, ligero y multiplataforma que se ejecuta en el terminal. Proporciona una interfaz colorida para ver el uso en tiempo real y estadísticas del CPU, memoria, discos, red y procesos.
Las características de btop incluyen:
- Interfaz personalizable
- Capacidad para filtrar procesos
- Vista de árbol de procesos
- Navegación usando mouse, teclado o táctil
- Compatible con Linux, macOS y FreeBSD
Instalación
Para instalar btop en varias distribuciones de Linux, puedes usar los siguientes gestores de paquetes:
| Distribución | Gestor de paquetes | Comando de instalación |
|---|---|---|
| Basadas en Debian (p. ej., Ubuntu) | apt |
sudo apt install btop |
| Basadas en Red Hat (p. ej., CentOS) | dnf |
sudo dnf install btop |
| Arch Linux | pacman |
sudo pacman -S btop |
En otras distribuciones de Linux o sistemas operativos, puede que necesites compilar btop desde el código fuente. Consulta la guía de instalación de btop para más información.
Uso
Una vez instalado, puedes iniciar btop ejecutando el siguiente comando en tu terminal:
btop
En la interfaz de btop, puedes ver la siguiente información relacionada con la memoria:
- Gráfico de uso de memoria
- Memoria total
- Memoria usada
- Memoria libre
- Buffers
- Memoria en caché
- Memoria disponible
- Uso de swap





