Utilice Zswap para mejorar el rendimiento en PC con Linux con cantidades bajas de RAM

Seamos realistas, algunos de nosotros no actualizamos con tanta frecuencia. O, al menos, como usuarios de Linux, nos gusta reutilizar nuestras computadoras portátiles / computadoras más antiguas. Muchas distribuciones se ejecutan cómodamente en sistemas con poca RAM (memoria de acceso aleatorio). Los navegadores, sin embargo, no son tan tolerantes y requieren cada vez más memoria a medida que Internet evoluciona.

Si bien un sistema con el entorno de escritorio LXDE puede tomar tan solo 150 MB de RAM después de iniciarse, Chromium, Chrome o Firefox consumirán rápidamente cientos de megabytes e incluso varios gigabytes de RAM cuando abramos algunas pestañas.

¡Y ahí es cuando sucede! El disco duro comienza a hacer ese chirrido. La música empieza a tartamudear. Cuando pasamos a otra aplicación, tardan decenas de segundos en aparecer en pantalla. Incluso el cursor del mouse puede comenzar a retrasarse. Este es el efecto de la paliza del disco.

¿Qué es el disco Thrashing?

Primero, necesitamos entender el intercambio. Cuando nos quedamos sin RAM libre, los datos de la aplicación a los que el sistema operativo no accedió durante mucho tiempo se mueven al área de intercambio. Suele estar en un dispositivo de almacenamiento físico. Al hacer esto, el sistema operativo puede liberar algo de espacio de memoria que un programa necesita ahora. De esta forma, una pestaña de nuestro navegador a la que no hemos accedido en la última hora puede cambiarse al disco duro. Ahora se puede ejecutar el editor de imágenes GIMP. Cuando lo cerramos y volvemos a la pestaña anterior, el sistema operativo lo cambia a la memoria (lo lee del disco y lo copia de nuevo en la memoria de acceso aleatorio).

disco duro zswap

Este mecanismo funciona bien al intercambiar pequeñas cantidades de datos. Pero cuando, digamos, solo hay 2GB de RAM disponibles y todos los programas que tenemos abiertos necesitan 4GB, el sistema operativo tiene que intercambiarse constantemente. Mover datos de memoria a disco, de disco a memoria y viceversa, constantemente, es muy lento, especialmente con discos duros. En tal situación, el dispositivo de almacenamiento no puede cumplir con las solicitudes lo suficientemente rápido. En pocas palabras, cuando se produce una paliza del disco, las cosas se ponen muy lentas.

Las unidades SSD son ideales para intercambiar

Existe un mito que aún circula en Internet: “Nunca configure el intercambio en SSD. ¡Matará tu dispositivo! ” Eso era cierto hace unos años, pero ya no. De hecho, configurar el intercambio en una unidad SSD conduce a excelentes resultados. Si la computadora incluye un dispositivo SSD que tiene un buen rendimiento de lectura / escritura aleatoria (al menos 300 MB), configure una partición de intercambio en él e ignore el resto de este artículo. Cuando el sistema operativo tiene que intercambiar 1 GB de datos, tardará menos de cinco segundos, mientras que en un disco duro tardará más de un minuto.

Cómo reducir significativamente la eliminación del disco en Linux

zswap-meme-compress-ram

Afortunadamente, la mayoría de los datos almacenados en RAM son muy comprimibles. Esto significa que si tomamos 200 MB de datos almacenados en la memoria y los comprimimos, podemos reducir el tamaño a 100 MB. En consecuencia, significa que el sistema tendrá que escribir muchos menos datos en el disco al realizar el intercambio.

Imagine que en lugar de esperar treinta segundos para cambiar a un programa, tiene que esperar quince. Es una mejora palpable. Pero, de hecho, la aceleración es mucho más significativa (puede que haya que esperar menos de diez segundos) porque la herramienta que usaremos es más sofisticada que eso. Envía inteligentemente al disco solo los bits y piezas que no se pueden comprimir, manteniendo el resto en una parte reservada de la memoria. Si desea leer más sobre sus componentes internos, consulte el página oficial del kernel de Linux sobre zswap.

Una versión simple de los beneficios que obtenemos al usar zswap es que en lugar de ralentizaciones horribles cuando nos quedamos sin memoria, obtenemos ralentizaciones leves y tolerables que duran segundos en lugar de decenas de segundos o incluso minutos.

Cómo habilitar zswap en distribuciones basadas en Debian (Ubuntu, Linux Mint, etc.)

Abra una aplicación de terminal y ejecute este comando para editar el archivo de configuración de la plantilla del cargador de arranque Grub:

zswap-edit-grub-template-config

Con las teclas del cursor, navegue hasta la línea que comienza con “GRUB_CMDLINE_LINUX_DEFAULT”. Entre las comillas, agregue el siguiente texto:

zswap-edit-grub-template-config-2

Por ejemplo, una línea que era GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" se convierte en GRUB_CMDLINE_LINUX_DEFAULT="quiet splash zswap.enabled=1".

Para guardar el archivo, presione Ctrl + X, seguido de “y” y luego Enter.

Genere los nuevos archivos de configuración de Grub de acuerdo con la plantilla que editamos anteriormente:

zswap-update-grub-terminado

Reinicie y el módulo zswap se habilitará automáticamente.

Cómo habilitar zswap en Fedora y OpenSUSE

El procedimiento aquí es similar al de la sección anterior, pero con algunos cambios. Edite el archivo de configuración de la plantilla de Grub.

Añadir zswap.enabled=1 entre comillas, en la línea que comienza con GRUB_CMDLINE_LINUX.

zswap-edit-grub-template-fedora

prensa Ctrl + X, seguido de “y” y luego Enter para guardar el archivo.

Dependiendo de si su computadora arranca desde un sistema BIOS o UEFI, el archivo de configuración de Grub se genera en una ruta diferente. Para encontrar dónde reside actualmente, ingrese el siguiente comando:

zswap-find-grub-cfg-on-fedora

Utilice la ruta que se muestra aquí en el siguiente comando. Por ejemplo, en nuestro caso, la ruta encontrada fue “/boot/grub2/grub.cfg”, así que la agregaremos al final del siguiente comando después de “-o”:

Reinicia la computadora. Después de reiniciar, verifique si el módulo está activo:

Si la salida es “Y”, entonces el módulo está funcionando correctamente.

Cómo habilitar zswap en Arch Linux

Instale el paquete systemd-swap:

zswap-pacman-install-systemd-swap

Haga que este paquete haga su magia en el momento del arranque:

Inícielo ahora, sin reiniciar:

Para verificar si todo funcionó como se esperaba, verifique si el módulo zswap está habilitado:

zswap-enable-systemd-swap-service

Si la salida es “Y”, significa que el módulo está activo.

Cómo habilitar zswap en diferentes distribuciones

En términos generales, habilitar zswap en el momento del arranque es tan fácil como agregar zswap.enabled=1 a los parámetros de su kernel. La mayoría de las distribuciones utilizan Grub2 como gestor de arranque de forma predeterminada. Si está utilizando un cargador de arranque diferente, busque el archivo de configuración donde almacena los parámetros del kernel para pasar en el momento del arranque y agregue zswap.enabled=1 como parámetro adicional.

Otro parámetro con el que puede jugar para encontrar si mejora el rendimiento para su caso de uso específico, es zswap.max_pool_percent=20. Puede ajustarlo cambiando el número al final: por ejemplo, zswap.max_pool_percent=50.

Agréguelo a los mismos parámetros del kernel donde agrega zswap.enabled=1. Se recomienda que no supere el 50%, ya que más de eso puede tener efectos perjudiciales en sistemas con poca cantidad de RAM.

Conclusión

Si con frecuencia se quedó sin RAM en su sistema anterior y experimentó los efectos molestos de la paliza del disco, notará y apreciará inmediatamente la diferencia a partir de ahora. En lugar de ralentizaciones horribles, experimentará un retraso leve y temporal que dura unos segundos (en lugar de minutos) cuando el sistema operativo tiene que intercambiar muchos datos en el disco. Podrá continuar trabajando en situaciones en las que antes no podía usar su computadora durante el tiempo que se cambió.

¿Es útil este artículo?

¡Ayúdanos a difundirlo!

Deja una respuesta

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