---
title: "Para los faltos de RAM: compresión con zram"
url: "https://fcuba.net/threads/1107-para-los-faltos-de-ram-compresion-con-zram"
forum: "GNU/Linux"
author: "w1re"
published: "2021-12-23T17:03:52.000Z"
updated: "2021-12-24T14:49:25.000Z"
page: 1
pages: 1
---

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

In [GNU/Linux](https://fcuba.net/forums/162-gnu-linux.md), started by w1re on 2021-12-23T17:03:52.000Z.

## w1re, [2021-12-23T17:03:52.000Z](https://fcuba.net/threads/1107-para-los-faltos-de-ram-compresion-con-zram#post-10982)

> 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í](https://search.nixos.org/options?from=0&size=50&sort=relevance&type=packages&query=zramSwap).
>
> Esta es mi configuración:
>
> ```
> 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](https://github.com/StuartIanNaylor/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.

## Trett?, [2021-12-24T07:16:28.000Z](https://fcuba.net/threads/1107-para-los-faltos-de-ram-compresion-con-zram#post-10996)

> > **[w1re](https://fcuba.net/posts/10982) wrote:**
> > 
> > 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í](https://search.nixos.org/options?from=0&size=50&sort=relevance&type=packages&query=zramSwap).
> > 
> > Esta es mi configuración:
> > 
> > ```
> > 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](https://github.com/StuartIanNaylor/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 +?

## w1re, [2021-12-24T14:49:25.000Z](https://fcuba.net/threads/1107-para-los-faltos-de-ram-compresion-con-zram#post-11001)

> > **[Trett?](https://fcuba.net/posts/10996) wrote:**
> > 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.
