Articulo Para los faltos de RAM: compresión con zram

w1re

Moderador
Mensajes
857
Oro
60,672
Windows no es el único sistema operativo (ni el primero) en soportar compresión de memoria. Aquí expondré algunos métodos para usar esto en Linux.

El módulo zram crea un disco ram comprimido. Soporta acceso aleatorio, varios algoritmos de compresión, incluyendo Zstandard, y permite "descartar" los bloques no usados, haciéndolo excelente para montar una swap. Un truco útil si no se quiere dedicar una partición o un archivo para este propósito, ej. para no desgastar tanto la SSD.

En NixOS
Puede configurarse usando estas opciones:
  • zramSwap.enable - true para habilitar.
  • zramSwap.algorithm - Algoritmo de compresión.
  • zramSwap.memoryPercent - Tamaño máximo del disco ram, en porcentaje (por defecto es 50).
  • zramSwap.memoryMax - Tamaño máximo en bytes.
  • Las demás están aquí.

Esta es mi configuración:
Código:
zramSwap.enable = true;
zramSwap.algorithm = "zstd";
zramSwap.memoryPercent = 75;
zramSwap.swapDevices = 1;

En Ubuntu y otros
La forma fácil:
Bash:
apt-get install zram-config && systemctl start zram-config.service
No recomiendo este paquete ya que -al menos en su versión 0.6- tiene varios bugs e intenta sobreescribir sin más cualquier cosa que se encuentre en /dev/zram*. También que para cambiar la configuración hay que editar el script /usr/bin/init-zram-swapping.

Una mejor opción que también funciona en otras distros con systemd es Zram-swap-config.

A mano
Este es el procedimiento general:
Bash:
modprobe zram                         # cargar el módulo
rd=$(zramctl -f -a zstd --size 2GiB)  # crear un disco ram de (ej.) 2GiB
mkswap $rd                            # crear la swap
swapon $rd                            # montar la swap
Para hacerlo persistente habrá que crear un script que lo haga al arrancar, lo cual depende de la distro.
 
Windows no es el único sistema operativo (ni el primero) en soportar compresión de memoria. Aquí expondré algunos métodos para usar esto en Linux.

El módulo zram crea un disco ram comprimido. Soporta acceso aleatorio, varios algoritmos de compresión, incluyendo Zstandard, y permite "descartar" los bloques no usados, haciéndolo excelente para montar una swap. Un truco útil si no se quiere dedicar una partición o un archivo para este propósito, ej. para no desgastar tanto la SSD.

En NixOS
Puede configurarse usando estas opciones:
  • zramSwap.enable - true para habilitar.
  • zramSwap.algorithm - Algoritmo de compresión.
  • zramSwap.memoryPercent - Tamaño máximo del disco ram, en porcentaje (por defecto es 50).
  • zramSwap.memoryMax - Tamaño máximo en bytes.
  • Las demás están aquí.

Esta es mi configuración:
Código:
zramSwap.enable = true;
zramSwap.algorithm = "zstd";
zramSwap.memoryPercent = 75;
zramSwap.swapDevices = 1;

En Ubuntu y otros
La forma fácil:
Bash:
apt-get install zram-config && systemctl start zram-config.service
No recomiendo este paquete ya que -al menos en su versión 0.6- tiene varios bugs e intenta sobreescribir sin más cualquier cosa que se encuentre en /dev/zram*. También que para cambiar la configuración hay que editar el script /usr/bin/init-zram-swapping.

Una mejor opción que también funciona en otras distros con systemd es Zram-swap-config.

A mano
Este es el procedimiento general:
Bash:
modprobe zram                         # cargar el módulo
rd=$(zramctl -f -a zstd --size 2GiB)  # crear un disco ram de (ej.) 2GiB
mkswap $rd                            # crear la swap
swapon $rd                            # montar la swap
Para hacerlo persistente habrá que crear un script que lo haga al arrancar, lo cual depende de la distro.
Ta interesante
No a ver, yo solo veo numeritos y letricas, pero ta interesante, esa e la talla esa de comprimir la memoria y así parece q utilizas más cuando en realidad gastas menos? En fin, q la aprovechas +?
 
esa e la talla esa de comprimir la memoria y así parece q utilizas más cuando en realidad gastas menos? En fin, q la aprovechas +?
Sí. Hay un módulo lo hace de un modo más parecido al de Windows, pero este el que uso. En fin, la compresión es efectiva porque por lo general la mayor parte de los datos que los programas mantienen en memoria tiene una redundancia bastante alta.
 
Atrás
Arriba