Aumentar la velocidad de linux con zswap

pinguino volador

Siempre estoy atento a cualquier opción que mejore el desempeño de mi instalación de linux. No es porque linux vaya lento, no señor, las mejoras van con la intención de sacarle más jugo a al hardware.

Hoy en la mañana vi este artículo de los amigos de Xenode Systems: Haz tu Linux más rápido con Zswap y me llamó la atención.

En resumen, zswap mejora la velocidad de linux al optimizar el uso de la memoria RAM y de la swap y al mandar algunos procesos de entrada y salida a memoria.

Para poder aplicarlo tuve que reactivar la swap de mi sistema, ya que anteriormente la había deshabilitado (véa Desactivar la partición de swap). Una vez hecho esto ya estaba listo para realizar los cambios en mi sistema.

¿Cuál versión del kernel estoy utilizando.

Lo primero que hay que hacer es revisar la versión del kernel que estoy usando. Esto es importante, porque como mencionan los amigos de Xenode, esta opción esta disponible a partir de las version 3.11 del kernel.

Para averiguarlo basta con teclear en una terminal:

uname -r
A mi me dio como resultado:
3.12.17-1-MANJARO
¡Perfecto! eso quiere decir que no debo de tener problemas al momento de habilitar esta opción.

Modificar el parámetro del kernel en GRUB.

Ahora hay que indicarle a GRUB que inicie el kernel con un parámetro adicional que activa la opción de Zswap.

Para eso hay que editar el archivo de configuración de grub:

sudo gedit /etc/default/grub
Buscamos la línea que dice GRUB_CMDLINE_LINUX_DEFAULT y agregamos al final zswap.enabled=1 para que quede más o menos así:
GRUB_DEFAULT=saved
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Manjaro"
GRUB_CMDLINE_LINUX_DEFAULT="quiet resume=/dev/disk/by-uuid/9a711444-9679-4820-93a4-de45a752ca94 zswap.enabled=1"
GRUB_CMDLINE_LINUX=""
Guardamos el archivo y activamos los cambios con:
sudo update-grub
Esperamos a que termine y reiniciamos el sistema (hagan “changuitos”).

Comprobar que zswap está habilitado.

Si la computadora arrancó normalmente (siempre hay un riesgo) sólo falta comprobar que zswap este activo y funcionando, para eso basta con teclear en una terminal…

dmesg | grep zswap
zswap listo y funcionando

Y como pueden ver en la imagen, el módulo está activo y funcionando.

Ahora solo falta comprobar que funcione y esto es muy difícil de apreciar en el trabajo diario, pero cualquier cosa que sea para mejorar será bienvenida.

41 thoughts on “Aumentar la velocidad de linux con zswap

    • Bueno, swappiness es solo una opción del kernel, si lo pones a cero evitará hacer uso de la swap, pero si es necesario lo hará, no es una optimización del manejo de la memoria.

  1. ayer activé zswap sin partición de swap, no esperé tus pruebas, y tengo la sensación que los programas se inician más rápidos

  2. ja ja, de todas maneras me gusta probar estas cosas y como te dije siento que los programas si inician mas rapidamente, ahora quiero ver como es el consumo de memoria

  3. Perfecto amigo, ya quedó funcionando en el Kubuntu. Noté un arrancado un poco más rápido tanto del sistema como en programas. Solo que aún me queda una duda ¿qué es lo que presenta la última foto del post? ¿Acaso son indicadores de rendimiento de la swap o la RAM? Saludos!

    • Supongo que te refieres al htop.. y si , tienes razón, cuando aplico los cambios le doy un vistazo para saber el consumo de la memoria RAM y el uso de la swap.

  4. Acuerdo con todos, en especial siento una diferencia cuando tengo mis máquinas virtuales encendidas. ¿Que tal tú LinuxMan?

    • Pues como he trabajado muy ha gusto no me había percatado de ese detalle. Lo cierto es que mi equipo se está comportando muy bien, sobre todo en el arranque de aplicaciones.

  5. Si añado zswap.enabled=1 no me queda esa línea + – así GRUB_CMDLINE_LINUX_DEFAULT=”quiet resume=/dev/disk/by-uuid/9a711444-9679-4820-93a4-de45a752ca94 zswap.enab

    me queda GRUB_CMDLINE_LINUX_DEFAULT=”quiet zswap.enabled=1 y me dice que no la encontró al actualizar el grub Si la pongo al final del todo tampoco hace nada, y si copio todo lo que sigue a quiet también me dice que no lo encuentra.

    • Buenos días Salvochea,

      Veamos, las líneas deberían de quedar más o menos así:

      GRUB_CMDLINE_LINUX_DEFAULT="quiet resume=/dev/disk/by-uuid/9a711444-9679-4820-93a4-de45a752ca94 zswap.enabled=1"
      GRUB_CMDLINE_LINUX=""
      

      Pero hay un pequeño detalle, el numerote que esta después de by-uuid es único para cada disco duro, dime que no lo copiaste a tu archivo? 😛

      • Pues había copiado todo el texto con nº incluido, ahora lo he hecho sin nº y ha ido bien hago dmesg y me sale esto

        dmesg | grep zswap [ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-313-x86_64 root=UUID=d191f1ab-4275-4c4a-a5c4-7f0ec803d591 rw quietzswap.enabled=1 [ 0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-313-x86_64 root=UUID=d191f1ab-4275-4c4a-a5c4-7f0ec803d591 rw quietzswap.enabled=1

        ¿ Tengo swaps habilitado?

      • Ya había instalado el grub customizer pero no pensé que fuera tan sencillo. Lo he intentado varias veces. Cambio en nombre y cuando pico en guardar, algunas veces se borra el cambio, otras no. Pero bueno, consigo que lo guarde, en esa línea y en la anterior, tanto en kubuntu como en lubuntu, hago el update por consola y en el programa. Reinicio y todo sigue igual, ambos se llaman Ubuntu como si un “Canónigo” los hubiera bautizado

      • No sé si ha llegado mi contestación. grub customizer no cambia nada el nombre ni en esa fila ni en la anterior. Le he dado al update. Y quiet zswap.enabled=1 puesto así a continuación del quiet sin la comilla final, me dice que no ha encontrado un coincidente

  6. ya que andamos en harina ¿hay alguna manera de que el grub me distinga entre un Kubuntu y un Lubuntu que tengo junto al manjaro? Los dos me los nombra como Ubuntu. Miente dos veces seguidas

    • Claro que hay formas, sin embargo, meterse con Grub2 no es tan sencillo como su versión anterior, por eso te voy a recomendar que para editar el nombre de una entrada utilices Grub Customizer.

      Para instalarlo en Manjaro:

      sudo pacman -S grub-customizer
      

      Lo inicias y sólamente tienes que renombrar la entrada que deseas, así como aparece en la imagen.

      Renombrar una entrada de Grub con Grub Customizer.

      Sólo ten mucho cuidado, recuerda que estás manipulando las opciones de arranque del sistema 🙂

  7. Si copiaste la salida tal cual, creo que te falta un espacio.. dice quietzswap.enabled=1 y debería ser quiet zswap.enabled=1

    Ahora al ejecutar el comando dmesg | grep zswap lo que debes de buscar es esto:

    zswap: loading zswap
    zswap: using lzo compressor
    

    Eso te dice que zswap esta activado.

  8. hola! Resulta que en KaOS tengo el grub diferente a cómo lo muestras y no sé si es que debo seguir paso a paso y de otro modo. No sé si sabés si son los mismos pasos para esa distro. Los detalles es > https://www.piratepad.ca/p/zswap-kaos

    Y, por otro lado, tras hacer los cambios, al intentar actualizar el grub me da error “sudo: update-grub: command not found”

    • Hola dtulf,

      Ya veo, mira yo haría los siguientes cambios -> http://paste.linuxmanr4.com/view/03ed6aba/diff sólo que no estoy muy seguro de las comillas dobles que pusiste en tu ejemplo.

      En cuanto al comando update-grub ,bueno pues no uso Kaos, así que tendrás que buscar en sus foros como es que se realiza la actualización de GRUB en tu distro, no quiero darte un mal consejo 😛

      Saludos.

  9. Con sudo grub-mkconfig -o /boot/grub/grub.cfg funcionó. Si le quito esa comilla doble tira error, con las dos no. Así que quedan nomás dichas dobles comillas je

  10. Hola Linuxman he intentado hacer lo de zswap pero cuando escribo la primera línea (la del grub) me dice sido gedit comando nota found y ahí me quedo,alguna solución gracias.

    • Hola Juan, pues hay dos opciones .. tu escribes sido, pero es sudo. Ahora gedit es un editor de texto que viene con Gnome o con Cinnamon, pero puedes utilizar cualquier otro. En XFCE el editor por default es mousepad. Así que solo tienes que cambiar gedit por mousepad y listo 🙂

  11. Instalado en Ubuntu 16.04 y realmente se nota la diferencia al momento de iniciar y me abre mas rápido los programas tengo 4GB de RAM DDR3 Procesador Phenom ll

¡Me encantaría saber que opinas!

%d bloggers like this: