Comando free de Linux: Monitoreo de la memoria del sistema

LinuxLinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Bienvenido al laboratorio sobre el comando free de Linux. En este laboratorio, aprenderá cómo utilizar el comando free para monitorear y analizar el uso de memoria del sistema. Esta habilidad es crucial para los administradores de sistemas y desarrolladores que necesitan optimizar el rendimiento del sistema y solucionar problemas relacionados con la memoria.

Imagina que eres un administrador de sistemas junior encargado de monitorear el uso de memoria de un servidor web ocupado. El comando free será tu herramienta principal para esta tarea, lo que te permitirá evaluar rápidamente el estado actual de la memoria e identificar posibles problemas antes de que afecten el rendimiento del sistema.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux/SystemInformationandMonitoringGroup -.-> linux/free("Memory Reporting") subgraph Lab Skills linux/free -.-> lab-388496{{"Comando free de Linux: Monitoreo de la memoria del sistema"}} end

Uso básico del comando free

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

Primero, abre una terminal si aún no lo has hecho. Luego, ejecuta el siguiente comando:

free

Deberías 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 tu sistema. Analicemos lo que significa cada columna:

  • total: La cantidad total de RAM física y espacio de intercambio (swap space).
  • used: La cantidad de RAM actualmente en uso.
  • free: La cantidad de RAM que no se está utilizando en absoluto.
  • shared: La cantidad de RAM utilizada por tmpfs.
  • buff/cache: La cantidad de RAM utilizada para el buffer y la caché.
  • available: Una estimación de cuánta memoria está 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 por defecto.

Mostrar información de memoria en un formato legible para humanos

Si bien la salida predeterminada de free es precisa, puede ser difícil de leer rápidamente. Usemos la opción -h para mostrar la información en un formato más legible para humanos.

Ejecuta el siguiente comando:

free -h

Ahora deberías 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 "legible para humanos") escala automáticamente los números y agrega los sufijos de unidad adecuados (G para gigabytes, M para megabytes, etc.). Esto hace que sea mucho más fácil entender rápidamente el uso de memoria de tu sistema a simple vista.

Observa cómo los valores ahora se muestran 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.

Mostrar información de memoria en megabytes

A veces, es posible que desees ver la información de memoria en una unidad específica. Usemos la opción -m para mostrar la información en megabytes.

Ejecuta el siguiente comando:

free -m

Tu 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 fuerza a free a mostrar todos los valores en megabytes. Esto puede ser útil cuando necesitas más precisión que la que proporciona la opción -h, pero aún deseas números fáciles de leer.

Ten en cuenta que estos son 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 monitorear el uso de memoria a lo largo del tiempo. El comando free te permite hacer esto con la opción -s (segundos), que actualiza la pantalla en intervalos regulares.

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

free -h -s 3 -c 5

Este comando utiliza varias opciones:

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

Deberías 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 ayudarte a observar cómo cambia el uso de memoria a lo largo del tiempo, lo cual es especialmente útil cuando se intenta identificar fugas de memoria o comprender los patrones de uso de memoria de aplicaciones específicas.

Presiona Ctrl+C si deseas detener el comando antes de que se completen las 5 actualizaciones.

Mostrar el uso total de memoria

Por defecto, el comando free muestra el uso de memoria con los buffers y la caché separados. Sin embargo, a veces es posible que desees ver el uso total de memoria incluyendo los buffers y la caché. Para esto, podemos usar la opción -t.

Ejecuta el siguiente comando:

free -h -t

Tu salida debería verse algo así:

              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 agrega una línea "Total" en la parte inferior, que suma el uso de memoria y de espacio de intercambio (swap). Esto puede darte una visión general rápida de la memoria total del sistema, incluyendo tanto la RAM física como el espacio de intercambio.

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 quieres entender rápidamente la capacidad y el uso total de memoria de tu sistema.

Resumen

¡Felicidades! Has completado este laboratorio sobre el uso del comando free para monitorear la memoria del sistema. Repasemos lo que has aprendido:

  1. Uso básico del comando free para mostrar información de memoria.
  2. Uso de la opción -h para mostrar la memoria en un formato legible para 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. Mostrar el uso total de memoria incluyendo el espacio de intercambio (swap) con la opción -t.

Estas habilidades serán inestimables para monitorear y administrar los recursos del sistema, especialmente en escenarios donde necesites optimizar el rendimiento o solucionar problemas relacionados con la memoria.

Aquí hay algunas opciones adicionales del comando free que no cubrimos en este laboratorio:

  • -b: Mostrar la cantidad de memoria en bytes
  • -k: Mostrar la cantidad de memoria en kilobytes
  • -g: Mostrar la cantidad de memoria en gigabytes
  • -w: Usar un formato de salida amplio
  • -s: Actualizar la pantalla cada [SEC] segundos
  • --si: Usar potencias de 1000 en lugar de 1024

Recuerda, la gestión efectiva de la memoria es crucial para mantener el rendimiento y la estabilidad del sistema. El monitoreo regular con el comando free puede ayudarte a detectar y prevenir problemas relacionados con la memoria antes de que afecten el rendimiento de tu sistema.