Comando free de Linux: Monitoreo de la Memoria del Sistema

LinuxBeginner
Practicar Ahora

Introducción

Bienvenido a la práctica sobre el comando free de Linux. En esta sesión, aprenderá a utilizar el comando free para supervisar y analizar el uso de la memoria del sistema. Esta habilidad es fundamental para administradores de sistemas y desarrolladores que necesitan optimizar el rendimiento del equipo y solucionar problemas relacionados con la memoria.

Imagine que es un administrador de sistemas junior encargado de supervisar el uso de memoria de un servidor web con mucho tráfico. El comando free será su herramienta principal para esta tarea, permitiéndole evaluar rápidamente el estado actual de la memoria e identificar posibles problemas antes de que afecten el rendimiento del sistema.

Uso Básico del Comando free

Comencemos utilizando el comando free en su forma más sencilla. Esto nos dará una visión general del uso de la memoria del sistema.

Primero, abra una terminal si aún no lo ha hecho. Luego, ejecute el siguiente comando:

free

Debería ver una salida similar a esta:

              total        used        free      shared  buff/cache   available
Mem:        8167004     2524956     3300280      658636     2341768     4657560
Swap:       2097152           0     2097152

Esta salida proporciona una instantánea del uso de memoria de su sistema. Desglosemos el significado de cada columna:

  • total: La cantidad total de RAM física y espacio de intercambio (swap).
  • used: La cantidad de RAM que se está utilizando actualmente.
  • free: La cantidad de RAM que está completamente sin usar.
  • shared: La cantidad de RAM utilizada por tmpfs.
  • buff/cache: La cantidad de RAM utilizada para búferes y caché.
  • available: Una estimación de cuánta memoria hay disponible para iniciar nuevas aplicaciones.

La salida se divide en dos filas:

  • Mem: Muestra información sobre la RAM física.
  • Swap: Muestra información sobre el espacio de intercambio (memoria virtual).

Todos los valores se muestran en bytes de forma predeterminada.

Visualización de Información de Memoria en Formato Legible

Aunque la salida predeterminada de free es precisa, puede ser difícil de leer rápidamente. Utilicemos la opción -h para mostrar la información en un formato más amigable para el ser humano.

Ejecute el siguiente comando:

free -h

Ahora debería ver una salida similar a esta:

              total        used        free      shared  buff/cache   available
Mem:          7.8Gi       2.4Gi       3.1Gi       642Mi       2.2Gi       4.4Gi
Swap:         2.0Gi          0B       2.0Gi

La opción -h (que significa "human-readable" o legible por humanos) escala automáticamente los números y añade los sufijos de unidad apropiados (G para gigabytes, M para megabytes, etc.). Esto facilita mucho la comprensión rápida del uso de memoria del sistema de un solo vistazo.

Observe cómo los valores se muestran ahora con unidades como Gi (gibibytes) y Mi (mebibytes). Estas son unidades binarias, donde 1 Gi = 1024 Mi, que es la forma estándar en que las computadoras miden la memoria.

Visualización de Información de Memoria en Megabytes

En ocasiones, es posible que desee ver la información de la memoria en una unidad específica. Utilicemos la opción -m para mostrar la información en megabytes.

Ejecute el siguiente comando:

free -m

Su salida debería verse algo así:

              total        used        free      shared  buff/cache   available
Mem:           7975        2466        3222         642        2286        4548
Swap:          2047           0        2047

La opción -m obliga a free a mostrar todos los valores en megabytes. Esto puede ser útil cuando necesita más precisión de la que proporciona la opción -h, pero aún desea números fáciles de leer.

Tenga en cuenta que se trata de mebibytes (MiB), donde 1 MiB = 1,048,576 bytes, no megabytes (MB) donde 1 MB = 1,000,000 bytes. En la práctica, la diferencia es lo suficientemente pequeña como para que a menudo se usen indistintamente.

Monitoreo Continuo con el Comando free

En escenarios del mundo real, a menudo es necesario supervisar el uso de la memoria a lo largo del tiempo. El comando free permite hacer esto con la opción -s (segundos), que actualiza la pantalla a intervalos regulares.

Monitoreemos el uso de la memoria cada 3 segundos para un total de 5 actualizaciones:

free -h -s 3 -c 5

Este comando utiliza varias opciones:

  • -h: Mostrar en formato legible por humanos.
  • -s 3: Actualizar cada 3 segundos.
  • -c 5: Detenerse después de 5 actualizaciones.

Debería ver una salida que se actualiza cada 3 segundos, similar a esta:

              total        used        free      shared  buff/cache   available
Mem:          7.8Gi       2.4Gi       3.1Gi       642Mi       2.2Gi       4.4Gi
Swap:         2.0Gi          0B       2.0Gi

              total        used        free      shared  buff/cache   available
Mem:          7.8Gi       2.4Gi       3.1Gi       642Mi       2.2Gi       4.4Gi
Swap:         2.0Gi          0B       2.0Gi

...

Este monitoreo continuo puede ayudarle a observar cómo cambia el uso de la memoria con el tiempo, lo cual es particularmente útil cuando se intenta identificar fugas de memoria o comprender los patrones de uso de memoria de aplicaciones específicas.

Presione Ctrl+C si desea detener el comando antes de que complete las 5 actualizaciones.

Visualización del Uso Total de Memoria

Por defecto, el comando free muestra el uso de memoria con los búferes y la caché por separado. Sin embargo, a veces es posible que desee ver el uso total de memoria incluyendo estos elementos. Para ello, podemos usar la opción -t.

Ejecute el siguiente comando:

free -h -t

Su salida debería ser similar a esta:

              total        used        free      shared  buff/cache   available
Mem:          7.8Gi       2.4Gi       3.1Gi       642Mi       2.2Gi       4.4Gi
Swap:         2.0Gi          0B       2.0Gi
Total:        9.8Gi       2.4Gi       5.1Gi

La opción -t añade una línea "Total" en la parte inferior, que suma el uso de la memoria RAM y del espacio de intercambio. Esto puede darle una visión rápida de la memoria total de su sistema, incluyendo tanto la RAM física como el swap.

En esta salida:

  • La línea "Mem:" muestra el uso de la RAM física.
  • La línea "Swap:" muestra el uso del espacio de intercambio.
  • La línea "Total:" muestra la suma de la RAM física y el espacio de intercambio.

Esta vista total puede ser especialmente útil cuando desea comprender la capacidad y el uso global de la memoria de su sistema de un vistazo.

Resumen

¡Felicidades! Ha completado esta práctica sobre el uso del comando free para monitorear la memoria del sistema. Repasemos lo que ha aprendido:

  1. Uso básico del comando free para mostrar información de memoria.
  2. Uso de la opción -h para visualizar la memoria en un formato legible por humanos.
  3. Uso de la opción -m para mostrar la información de memoria en megabytes.
  4. Monitoreo continuo del uso de memoria con las opciones -s y -c.
  5. Visualización del uso total de memoria, incluyendo el intercambio, con la opción -t.

Estas habilidades serán invaluables para supervisar y gestionar los recursos del sistema, especialmente en situaciones donde necesite optimizar el rendimiento o diagnosticar problemas relacionados con la memoria.

Aquí tiene algunas opciones adicionales del comando free que no cubrimos en esta sesión:

  • -b: Muestra la cantidad de memoria en bytes.
  • -k: Muestra la cantidad de memoria en kilobytes.
  • -g: Muestra la cantidad de memoria en gigabytes.
  • -w: Utiliza un formato de salida ancho (wide).
  • -s: Actualiza la pantalla cada [SEG] segundos.
  • --si: Utiliza potencias de 1000 en lugar de 1024.

Recuerde que una gestión eficaz de la memoria es crucial para mantener el rendimiento y la estabilidad del sistema. El monitoreo regular con el comando free puede ayudarle a detectar y prevenir problemas de memoria antes de que afecten el funcionamiento de su equipo.