Introducción
Es esencial que tu sistema Linux funcione de manera óptima. Algunos comandos simples en la terminal proporcionan acceso a toda la información relevante y te ayudan a monitorear las estadísticas de memoria.
En este tutorial, aprenderás cinco comandos poderosos para verificar el uso de memoria en Linux. También proporcionaremos explicaciones detalladas de lo que hacen y, lo que es más importante, cómo interpretar los resultados. Los comandos funcionarán con casi todas las distribuciones de Linux. En este caso, los comandos y los resultados se presentan utilizando Ubuntu 18.04.
Prerrequisitos
- Acceso a una línea de comando / terminal
- Usuario con privilegios sudo
- El gestor de paquetes apt
Comandos para verificar el uso de memoria en Linux
Comando cat para mostrar información de memoria en Linux
Al ingresar cat /proc/meminfo
en tu terminal se abre el archivo /proc/meminfo
.
Este es un archivo virtual que informa la cantidad de memoria disponible y utilizada. Contiene información en tiempo real sobre el uso de memoria del sistema, así como los búferes y la memoria compartida utilizados por el kernel. La salida puede diferir ligeramente según la arquitectura y el sistema operativo en cuestión.
Este es un ejemplo de cómo se ve el archivo /proc/meminfo
en Ubuntu 18.04:
El terminal muestra la información en kilobytes.
Comando free para mostrar la cantidad de memoria física y de intercambio
Escribir free
en tu terminal proporciona el siguiente resultado:
Los datos representan la memoria utilizada/disponible y las cifras de memoria de intercambio en kilobytes.
total Memoria instalada total
used Memoria actualmente en uso por los procesos en ejecución (used= total – free – buff/cache)
free Memoria no utilizada (free= total – used – buff/cache)
shared Memoria compartida por varios procesos
buffers Memoria reservada por el sistema operativo para asignarla como búferes cuando los procesos los necesitan
cached Archivos utilizados recientemente almacenados en RAM
buff/cache Búferes + Caché
available Estimación de cuánta memoria está disponible para iniciar nuevas aplicaciones, sin realizar intercambio.
En comparación con el archivo /proc/meminfo, el comando free proporciona menos información. Sin embargo, es más fácil de entender. La cifra clave es el valor "available", ya que muestra cuánta memoria aún está disponible para ejecutar nuevas aplicaciones.
El comando free tiene múltiples opciones para formatear la salida para que se ajuste mejor a tus requisitos. La siguiente tabla muestra las variaciones más útiles del comando free.
Opciones Resultado
-b salida en bytes
-k salida en kibibytes
-m salida en mebibytes
-g salida en gibibytes
-l estadísticas detalladas de memoria baja y alta
-o formato antiguo (sin línea -/+buffers/cache)
-t total para RAM + intercambio
-s actualizar cada [delay] segundos
-c actualizar [count] veces
Nota: Al igual que con la mayoría de los comandos, ingresar man free
muestra una descripción general de todas las variaciones y descripciones de los resultados.
Comando vmstat para informar estadísticas de memoria virtual
El comando vmstat es una herramienta útil que informa estadísticas de memoria virtual.
vmstat proporciona información general sobre procesos, memoria, paginación, E/S de bloques, trampas y actividad de la CPU.
La descripción detallada que se muestra a continuación proporciona una explicación para cada valor en caso de que necesites ayuda para analizar los resultados.
- Procs
- r: número de procesos esperando tiempo de ejecución.
- b: número de procesos en estado de suspensión ininterrumpible.
- Memory
- swpd: cantidad de memoria virtual utilizada.
- free: cantidad de memoria inactiva.
- buff: cantidad de memoria utilizada como búferes.
- cache: cantidad de memoria utilizada como caché.
- Swap
- si: memoria intercambiada desde el disco (/s).
- so: memoria intercambiada al disco (/s).
- IO
- bi: bloques recibidos desde un dispositivo de bloques (bloques/s).
- bo: bloques enviados a un dispositivo de bloques (bloques/s).
- System
- in: número de interrupciones por segundo, incluido el reloj.
- cs: número de cambios de contexto por segundo.
- CPU: Estos son porcentajes del tiempo total de CPU.
- us: tiempo dedicado a ejecutar código no kernel. (tiempo de usuario, incluido el tiempo agradable)
- sy: tiempo dedicado a ejecutar código de kernel. (tiempo de sistema)
- id: tiempo dedicado a estar inactivo. Antes de Linux 2.5.41, esto incluía tiempo de espera de E/S.
- wa: tiempo dedicado a esperar E/S. Antes de Linux 2.5.41, se incluía en el tiempo inactivo.
- st: tiempo robado de una máquina virtual. Antes de Linux 2.6.11, desconocido.
Comando top para verificar el uso de memoria
El comando top es útil para verificar el uso de memoria y CPU por proceso. Muestra información sobre:
- tiempo de actividad
- carga promedio
- tareas en ejecución
- número de usuarios conectados
- número de CPUs/utilización de la CPU
- procesos del sistema de memoria/intercambio
Los datos se actualizan continuamente, lo que te permite seguir los procesos en tiempo real.
Además de proporcionarte información esencial sobre la memoria, el comando top proporciona una interfaz interactiva limitada. Es posible manipular y configurar operaciones utilizando opciones de línea de comandos.
El comando man en Linux man top
proporciona una lista completa de todas las variaciones disponibles.
Comando htop para encontrar la carga de memoria de cada proceso
La información que proporciona el comando htop es similar al comando top. Sin embargo, la verdadera ventaja del comando htop es su entorno fácil de usar y sus controles mejorados.
El comando utiliza colores para su salida, proporciona líneas de comando completas para los procesos, así como la opción de desplazarse tanto vertical como horizontalmente.
htop
Aparece la siguiente salida:
- El segmento superior proporciona información resumida y contiene medidores gráficos y contadores de texto.
- La sección inferior estructura los datos detallados, por proceso. Esto te permite realizar acciones en procesos individuales con facilidad.
- Los atajos enumerados en la parte inferior de la pantalla te permitirán manipular y personalizar los procesos rápidamente y sin la necesidad de escribir comandos específicos.
Nota: Si te encuentras con el mensaje “Comando ‘htop’ no encontrado” al intentar ejecutar el comando htop, primero deberás instalar la función htop:
sudo snap install htop
Como alternativa, utiliza el siguiente comando:
sudo apt install htop
Verificar el uso de memoria en Linux utilizando la interfaz gráfica de usuario (GUI)
El uso de una interfaz gráfica de usuario para la administración del servidor no es una práctica común. Sin embargo, ciertos conjuntos de datos son mucho más claros con una representación visual del uso de memoria.
Para acceder al Monitor del sistema:
- Navega hasta Mostrar aplicaciones.
- Escribe Monitor del sistema en la barra de búsqueda y accede a la aplicación.
- Selecciona la pestaña Recursos.
- Se muestra una descripción general gráfica del consumo de memoria en tiempo real, incluida información histórica.
Conclusión
Esta guía proporcionó varias opciones para verificar el uso de memoria en tu sistema Linux. Aprendimos que un solo comando proporciona una gran cantidad de datos valiosos para análisis futuros. Aprender a interpretar la información correctamente es fundamental.
Ahora puedes administrar tu servidor de manera más eficiente.