Cómo liberar memoria en Ubuntu: Guía completa para optimizar el rendimiento

目次

1. Introducción

Ubuntu es una popular distribución de Linux de código abierto utilizada por muchos usuarios. Sin embargo, cuando el sistema se ejecuta durante largos periodos, la memoria puede irse agotando gradualmente. Esto se debe a que la caché y los procesos innecesarios ocupan memoria.

En este artículo explicaremos métodos concretos para liberar memoria en Ubuntu y mejorar el rendimiento del sistema. Está dirigido a principiantes e intermedios, con ejemplos prácticos de comandos y scripts. Si tienes conocimientos básicos de Ubuntu, podrás aplicarlo fácilmente.

Beneficios de leer este artículo

  • Comprender el funcionamiento de la memoria.
  • Aprender métodos concretos para liberar memoria en Ubuntu.
  • Obtener consejos de optimización para mejorar el rendimiento del sistema.
侍エンジニア塾

2. Fundamentos de la gestión de memoria en Ubuntu

Tipos de memoria y su función

La gestión de memoria en Ubuntu se compone de los siguientes tres elementos principales:

  1. RAM (Memoria física)
    Es el lugar donde se almacenan temporalmente programas y datos. Está directamente relacionada con la velocidad de trabajo, por lo que tener suficiente capacidad es fundamental.
  2. Memoria caché
    Son datos almacenados temporalmente para acelerar la reutilización de programas y archivos. Aunque la caché ayuda a mejorar la velocidad, un exceso puede causar falta de memoria física.
  3. Área de swap
    Es un espacio en disco utilizado cuando la RAM no es suficiente. Sin embargo, como los discos duros o SSD son más lentos que la RAM, depender demasiado del swap puede reducir el rendimiento.

Cómo comprobar el uso actual de memoria

Para comprobar el uso de la memoria, utiliza los siguientes comandos:

Comando free -h

free -h

Este comando muestra el uso de memoria en un formato “legible para humanos”.

Ejemplo de salida:

              total        used        free      shared  buff/cache   available
Mem:           7.7G        2.5G        1.8G        1.2G        3.4G        4.0G
Swap:          2.0G          0B        2.0G
  • total: Memoria total
  • used: Memoria en uso
  • free: Memoria libre
  • buff/cache: Memoria usada por la caché
  • available: Memoria realmente disponible

Herramienta htop

Si quieres comprobar el uso de memoria en tiempo real, htop es muy útil.

  1. Instalación:
   sudo apt install htop
  1. Ejecución:
   htop

Muestra una interfaz a color con el uso de CPU y memoria en tiempo real.

3. Métodos concretos para liberar memoria

3.1 Liberar la caché de páginas

¿Qué es la caché de páginas?

La caché de páginas es un mecanismo que guarda temporalmente archivos y datos en memoria para acceder a ellos más rápido. Normalmente es útil, pero si falta memoria, se puede liberar para recuperar recursos.

Método de liberación

Para liberar la caché, sigue estos pasos:

  1. Comando para liberar caché
    Ejecuta el siguiente comando:
   sudo sync && sudo sysctl -w vm.drop_caches=3
  • sync: Sincroniza los datos pendientes de escritura en disco.
  • sysctl -w vm.drop_caches=3: Libera la caché de páginas.
  1. Verificación
    Usa free -h antes y después de liberar caché para comprobar el cambio.

Precauciones

  • Eliminar la caché puede ralentizar temporalmente el sistema.
  • La caché se gestiona automáticamente, así que no es necesario liberarla con frecuencia.

3.2 Optimización del área de swap

¿Qué es el swap?

El área de swap se utiliza cuando la RAM no es suficiente, almacenando datos temporalmente en disco. Al ser más lento que la RAM, puede afectar al rendimiento si se usa en exceso.

Comprobar el área de swap

swapon --show

Añadir espacio de swap

Si el área de swap es insuficiente, puedes crear un nuevo archivo de swap:

  1. Crear archivo de swap
   sudo fallocate -l 1G /swapfile

Esto crea un archivo de swap de 1GB.

  1. Asignar permisos
   sudo chmod 600 /swapfile
  1. Habilitar el swap
   sudo mkswap /swapfile
   sudo swapon /swapfile
  1. Verificar
    Comprueba con swapon --show que el nuevo swap está activo.

Liberar swap

sudo swapoff -a && sudo swapon -a

Esto devuelve los datos del swap a la RAM.

3.3 Finalizar procesos innecesarios

¿Qué son procesos innecesarios?

Son procesos que consumen mucha memoria pero no se utilizan actualmente. Al cerrarlos se libera memoria.

Cómo identificarlos

Usa htop o ps aux para ver qué procesos consumen más memoria.

  1. Comando ps aux
   ps aux --sort=-%mem | head

Muestra los procesos ordenados por consumo de memoria.

  1. Comando htop
  • Permite ver e interactuar fácilmente con los procesos para cerrarlos.

Cómo finalizar un proceso

sudo kill -9 <PID>

4. Uso de herramientas de liberación automática

4.1 Configuración de zRAM

¿Qué es zRAM?

zRAM usa memoria comprimida para ampliar virtualmente la RAM. Es más rápido que usar swap en disco.

Instalación y configuración

  1. Instalar zRAM
   sudo apt install zram-config
  1. Verificar funcionamiento
   swapon --show

Si aparece /dev/zram0, está habilitado.

  1. Configuración personalizada
   sudo nano /etc/default/zram-config

Modifica compresión o tamaño según sea necesario y reinicia.

Ventajas de zRAM

  • Menor acceso a disco y mejor respuesta del sistema.
  • Menor uso de swap en disco.

4.2 Crear un script de liberación automática

  1. Contenido del script
   #!/bin/bash
   sync && echo 3 > /proc/sys/vm/drop_caches
   echo "Memoria liberada: $(date)"
  1. Guardar archivo
   nano ~/memory_cleanup.sh
  1. Dar permisos de ejecución
   chmod +x ~/memory_cleanup.sh
  1. Ejecutar manualmente
   sudo ~/memory_cleanup.sh

Ejecutar automáticamente con cron

   crontab -e
   0 * * * * sudo ~/memory_cleanup.sh
   crontab -l

4.3 Precauciones

  • Consumo de CPU por zRAM: en equipos poco potentes puede afectar al rendimiento.
  • Frecuencia de ejecución de scripts: si se ejecutan demasiado seguido, el rendimiento puede empeorar.

5. Precauciones

5.1 Comprender el impacto de eliminar caché

  • La caché acelera el sistema, eliminarla puede ralentizarlo temporalmente.
  • En servidores de base de datos o con acceso frecuente a archivos, puede ser contraproducente.

Elimina la caché solo si la memoria física está al límite.

5.2 Gestión del área de swap

El uso excesivo de swap incrementa el I/O de disco y reduce la respuesta del sistema.

  • RAM ≤ 2GB: usar swap de aprox. el doble.
  • RAM ≥ 2GB: usar swap igual o menor que la RAM.

5.3 Riesgos al finalizar procesos

Si cierras un proceso esencial, el sistema puede volverse inestable. Verifica siempre con htop antes de usar:

kill -9 <PID>

5.4 Precauciones con zRAM

Al usar compresión, aumenta la carga de CPU. Monitoriza con htop o free.

5.5 Configuración de scripts automáticos

No ejecutes scripts demasiado seguido. Una vez cada 1–2 horas es razonable. Guarda logs para diagnóstico:

#!/bin/bash
sync && echo 3 > /proc/sys/vm/drop_caches
echo "Liberación de memoria: $(date)" >> /var/log/memory_cleanup.log

6. FAQ (Preguntas frecuentes)

Q1. ¿Es necesario liberar memoria frecuentemente?

A: No. Ubuntu gestiona la memoria automáticamente. Solo libérala si el sistema se ralentiza.

Q2. ¿Eliminar caché reduce la velocidad?

A: Sí, de forma temporal. La caché acelera accesos, al eliminarla el sistema debe recargar datos.

Q3. ¿Qué efecto tiene aumentar el swap?

A: Evita caídas del sistema si falta RAM, pero reduce el rendimiento si se usa demasiado.

Q4. ¿Existen formas automáticas de liberar memoria?

A: Sí, mediante scripts con cron o usando zRAM.

Q5. ¿Liberar memoria puede volver inestable el sistema?

A: Si se hace bien, no. Pero cerrar procesos críticos o eliminar caché innecesariamente puede causar problemas.

Q6. ¿zRAM funciona en todos los sistemas?

A: Es útil sobre todo en sistemas con poca RAM. En equipos potentes, el beneficio es menor.

Q7. ¿Por qué no noto mejoras después de liberar memoria?

A: Puede que ya no hubiera caché innecesaria, o que el problema se deba a CPU o disco.

7. Conclusión

En este artículo hemos explicado cómo liberar memoria en Ubuntu, desde lo básico hasta métodos avanzados. La falta de memoria es una de las principales causas de bajo rendimiento, pero puede resolverse con buena gestión.

Puntos clave

  • La memoria se compone de RAM, caché y swap.
  • Métodos concretos: liberar caché, gestionar swap y cerrar procesos innecesarios.
  • Herramientas de automatización: zRAM y scripts con cron.
  • Precauciones: un mal uso puede afectar al rendimiento.

Próximos pasos

  • Monitoriza regularmente con htop y free.
  • Optimiza desactivando procesos poco usados.
  • Automatiza con zRAM y scripts.

Con estas prácticas podrás mantener tu sistema Ubuntu estable y eficiente, garantizando un mejor rendimiento a largo plazo.