martes, 21 de enero de 2020

zswap en Linux (SWAP comprimida en RAM)


Resumen de Comandos:                                                   


sudo gedit /etc/default/grub

Buscar la siguiente linea

GRUB_CMDLINE_LINUX_DEFAULT="quiet"

Dentro de las comillas, justo al final tenemos que añadir zswap.enabled=1.

GRUB_CMDLINE_LINUX_DEFAULT="quiet zswap.enabled=1"

sudo update-grub

reiniciar el ordenador y chequear con:

dmesg | grep zswap


Fuente del Articulo:                                                         

https://geekland.eu/aligerar-el-sistema-con-zswap/

 

 

 

Copia del Articulo:                                                           

¿QUÉ ES ZSWAP?

Zswap es un módulo del kernel de Linux desarrollado por Seth Jennings. Zswap se incorpora al Kernel de Linux a partir de la versión 3.11 y su principal función, al igual que Zram, es evitar la paginación en disco para de esta forma poder incrementar el rendimiento de nuestro sistema.
A pesar de que el propósito de Zram y Zswap sea similar, la forma que tienen para intentar conseguir esta finalidad es muy diferente y lo veremos en los siguientes apartados de este post.

FUNCIONAMIENTO DE ZSWAP

A grandes rasgos el funcionamiento de Zswap es el que se describe en este apartado:
Partimos de la situación de una memoria RAM y una partición Swap vacías:
Situación inicial de la memoria
A medida que vayamos usando nuestro equipo se dará perfectamente esta situación:
Memoria antes de la paginación
Cuando se genera la necesidad de paginación, en vez de pasar el contenido a la partición Swap lo que hace Zswap es lo siguiente:
1- El contenido que se tendría que trasladar a la partición Swap se comprimirá y se intentará ubicar en una parte reservada de nuestra memoria RAM denominada Zswap.
2- Si el contenido que hay que ubicar en el espacio Zswap tiene una tasa de compresión baja, u es susceptible de generar problemas/errores, entonces Zswap paginará toda esta información a la partición Swap realizando un paginación de disco normal y corriente. Por lo tanto para usar Zswap precisamos sí o sí de una partición Swap en nuestro equipo.
3- Si el contenido a paginar tiene una tasa de compresión aceptable, y no es susceptible de generar problemas, entonces se almacena en la memoria RAM evitando o retardando su paginación. La información detallada en los puntos 1, 2 y 3 se puede representar en el siguiente diagrama:
Paginación finalizada con Zswap
Nota: Si observamos el diagrama que acabamos de representar veremos que hay parte del contenido paginado en Zswap y la otra parte en la partición Swap. Los motivos de esta separación son los que se explican en los puntos 2 y 3.
4- En el caso que la memoria reservada de nuestra RAM (Zswap) se llene, entonces se vaciará. El contenido vaciado se trasladará a la partición Swap realizando un paginación de disco normal y corriente. Por lo tanto, de nuevo volvemos a ver que Zswap requiere de una partición Swap para poder funcionar.
Por lo tanto, descrito de forma muy genérica, Zswap hace de capa intermedia o puente entre la gestión memoria y nuestra partición Swap. Esto sin duda es muy distinto a lo realizado por ZRAM que en ningún caso hace de puente con la partición Swap.
Una vez visto como funciona Zswap, si quieren ver como funciona Zram tan solo tienen que consultar el siguiente enlace. Si comparan el funcionamiento verán que efectivamente el funcionamiento de las 2 herramientas es muy diferente.

BENEFICIOS APORTADOS POR ZSWAP

El resultado de todo esto proceso teóricamente debe aportar una serie de beneficios. Estos beneficios se pueden resumir en la siguiente lista:
  1. Reducir la paginación en disco ayuda a prolongar la vida de un disco SSD.
  2. Al reducir la paginación en disco se gana fluidez en el sistema. La mayoría de personas que lean este artículo seguro que serán conscientes del impacto negativo, en lo que rendimiento se refiere, que se genera cuando se inicia la paginación de disco.
  3. Además de evitar la paginación del disco, también se dice que la lectura del contenido comprimido almacenado en el espacio reservado de Zswap, es más rápida que la lectura del contenido almacenado en la Swap. Por lo tanto este es otro factor que ayudará a que nuestro sistema operativo funcione con mayor fluidez.
Nota: Que cada uno juzgue si Zswap, u otras opciones similares, incrementan el rendimiento de su ordenador por si mismo. Es cierto que tanto Zram como Zswap reducirán la paginación en disco, pero cabe tener en cuenta que lo harán a costa de que la CPU del ordenador trabaje más. Por lo tanto es posible que lo que se gane por un lado se pierde por otro.
Nota: Según la información que se detalla en la web kernel.org Zswap aun se considera una característica experimental del kernel ya que no ha podido ser testeada todo lo necesario.

COMO USAR ZSWAP EN CUALQUIER DISTRIBUCIÓN LINUX

Antes explicar como se puede activar Zswap, es necesario asegurar que cumplimos con los requisitos mínimos para poder utilizar esta característica. Los requisitos mínimos para poder usar Zswap son los siguientes:
  1. Precisamos de una partición Swap en nuestro ordenador.
  2. La versión de Kernel que estemos usando tiene que ser como mínimo la 3.11.
Nota: Es necesario realizar esta puntualización porqué en algún que otro blog he visto como están realizando pruebas de uso de Zswap sin disponer de partición Swap.
Si se cumplen estos dos requisitos podemos probar Zswap de la siguiente forma:
Abren una terminal y ejecutan el siguiente comando:
sudo leafpad /etc/default/grub
Nota: En mi caso utilizo el editor de texto lefpad. Vosotros tenéis que sustituir leafpad por el nombre del editor de texto que acostumbréis a usar habitualmente.
Una vez se abra el editor de texto tendremos que localizar una linea que empiece por el siguiente texto:
GRUB_CMDLINE_LINUX_DEFAULT
En mi caso la linea mencionada contiene la siguiente información:
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
Dentro de las comillas, justo al final tenemos que añadir zswap.enabled=1. Una vez realizado esto la linea modificada, en mi caso, quedará de la siguiente forma:
GRUB_CMDLINE_LINUX_DEFAULT="quiet zswap.enabled=1"
Grub configurado con Zswap
Una vez realizadas las modificaciones se guarda el archivo. Una vez guardado el archivo tenemos que actualizar el grub para que se inicie Zswap en el próximo arranque de nuestro sistema operativo. Para ello abrimos una terminal y ejecutamos el comando:
sudo update-grub
Una vez actualizado el grub tan solo tenemos que reiniciar el ordenador. Una vez reiniciado el ordenador ya tan solo tenemos que comprobar que Zswap esté activado y funcionando. Para ello abrimos una terminal y usamos el siguiente comando:
dmesg | grep zswap
Si obtenemos un resultado parecido al de la siguiente captura de pantalla podemos estar seguros que Zswap esta activado y funcionando:
Zswap funcionando
Nota: En la captura de pantalla se puede ver que uso simultáneamente Zram y Zswap. Actualmente estoy experimentando si tener activadas las 2 opciones genera algún tipo de conflicto y de momento me atrevería a decir que no.