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 comentarios en “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.

      Responder
  1. 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

    Responder
  2. 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!

    Responder
    • 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.

      Responder
  3. 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.

    Responder
    • 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? 😛

      Responder
      • 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?

        Responder
      • 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

        Responder
      • 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

        Responder
  4. 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

    Responder
    • 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 🙂

      Responder
  5. 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.

    Responder
  6. 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”

    Responder
  7. 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

    Responder
  8. 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.

    Responder
    • 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 🙂

      Responder
  9. 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

    Responder

¡Me encantaría saber que opinas!

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.