Tutorial: ZRAM en Droplet de Digital Ocean

ram

Pues verás, uno de los problemas más fastidiosos que he tenido son los numerosos líos relacionados con la falta de memoria RAM. Por supuesto, esto es gracias a que tengo contratado el paquete mínimo; aun así, dado mi escasísimo tráfico, no debería tener estos problemas. Por eso, zram viene en un contexto donde swap pudo haber ayudado, pero no es recomendado porque DigitalOcean mismo advierte que no se debería usar swap en un droplet con SSD.

Introducción

Como ya me he quejado antes en otros artículos, al usar un droplet de espacio tan limitado como el modelo básico de 1GB de RAM y 25GB de disco SSD, frecuentemente encuentro problemas de escasez de memoria RAM, por lo que mis servicios se caen o dejan de funcionar. Esto podría haber sido lidiado con swap, pero digitalOcean prefiere que no lo active, y de hecho se encuentra desactivado por defecto, para evitar la degradación de los discos SSD pues, tienen un tiempo limitado de vida. Aún así, y teniendo en cuenta que hace poco escribí una entrada hablando de zram me di cuenta de que esa era la solución. ZRAM no escribe en el disco, sino que trabaja reservando un espacio de la memoria RAM y comprimiendo allí mismo los datos, de tal manera que puede con las configuraciones apropiadas, duplicar la RAM. Por supuesto, esto no es mágico y depende de ciertas circunstancias, pero para el propósito que se contrata un droplet tan básico, es suficiente.

Como activar zram en debian

En Debian es sumamente sencillo gracias al paquete oficial zram-tools. Abre tu terminal y ejecuta los siguientes comandos como usuario root o usando sudo:

sudo apt update && sudo apt install zram-tools -y

Luego, basta con configurar los parámetros optimizados

sudo nano /etc/default/zramswap

Dentro del archivo, busca las siguientes líneas, descoméntalas (elimina el símbolo # si lo tienen) y edítalas para dejarlas con estos valores ideales para un VPS de 1 GB:

  • ALGO=zstd (Utiliza el algoritmo de compresión zstd, balance perfecto entre ahorro de espacio y velocidad de CPU).
  • PERCENT=60 (Asigna hasta un 60% de tu RAM física para ser usada como bloque comprimido, lo que equivale a unos 600 MB en tu máquina de 1 GB). [1, 2]

Guarda los cambios presionando Ctrl + O, confirma con Enter y sal con Ctrl + X.

Y finalmente acepta los cambios reiniciando el demonio de zram:

sudo systemctl restart zramswap

Por supuesto, puedes confirmar que el servicio esta funcionando con el siguiente comando:

sudo swapon –show

deberia salirte algo similar a esto:

NAME       TYPE      SIZE USED PRIO

/dev/zram0 partition 600M 0B   100

Por supuesto, puedes echarle un ojo tambien a la salida del comando htop. en mi caso deje solo 256M para zram puesto que he optimizado el droplet y ya no necesito tanta RAM como antes.

htop con zram activo
htop con zram activo

Conclusiones

Zram es una utilidad muy necesaria para poder optimizar y sacarle hasta lo último al hardware limitado, pero te advierto que no es raro que hayan novedades. Tendrás más holgura sí, pero como mencioné en el artículo anterior, la razón por la que algo tan bueno no viene activo por defecto es porque puede haber inestabilidad en el sistema. Aún así, está muy optimizado y la probabilidad de que ocurra algo malo es bajísima. Ya lo tengo activo en mi droplet, por lo que si ocurre algo, terminaré reportándolo por aquí jajaja

Fediverse reactions

Únete a mi red poniendo la URL de tu blog. Aprender más

 
Interlan
Interlan
@interlan.ec@interlan.ec

Este es mi sitio personal y profesional, donde publico mis actividades, experimentos y servicios que he ido desarrollando durante mi crecimiento profesional.

145 publicaciones
0 seguidores

Descubre más desde Interlan

Suscríbete y recibe las últimas entradas en tu correo electrónico.

Fecha de publicación


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.