16 comentarios

ZRAM, incrementando la performance de Linux

The 536,870,912 byte (512×2 20 ) capacity of t...

Image via Wikipedia

Una de las características de elementaryOS, la distribución de Elementary Project basada en Ubuntu, es, no sólo su apariencia y utilización de herramientas propias, sino también la búsqueda constante de la optimización y velocidad.

En esa búsqueda, uno de los desarrolladores y empaquetadores de eOS, Sergey Davidoff, se topó con un proyecto llamado «compache» que lo que hace es crear bloques basados en nuestra RAM para que funcionen como Swap, pero comprimido y almacenado en la memoria RAM, de esta forma se logra incrementar la velocidad I/O y la cantidad de memoria disponible antes de que el sistema comience a utilizar la SWAP.

compcache luego fue reescrito y rebautizado como zRam y ahora se encuentra integrado en el kernel de forma NO oficial.

De momento no se encuentra habilitado oficialmente en las versiones de desarrollo de eOS «Luna» ya que no se han terminado las pruebas sobre procesadores Atom con discos SSDs ya que se desconoce si será útil o no. Sí es útil en el caso de contar con PCs «viejas», netbook o máquinas de pocos recursos.

He decidido probarlo, y el resultado en mi PC de escritorio con un quad-core y 2 GiB de RAM ha sido fantastico. En lugar de freezarse luego de exigir al máximo la RAM, el sistema se seguía comportando como si nada. No he notado diferencia alguna. Funciona como si se le hubiera agregado más RAM. Además, he tenido el mismo resultado en una laptop de 6 años de antigüedad (Pentium M y 1 GiB de RAM). Sólo he modificado el script para que automáticamente detecte la cantidad de memoria RAM en nuestro sistema y haga lo propio dependiendo de la cantidad de CPUs o core del micro. Empaquetado y disponible vía PPA.

– Sergey Davidoff

Instalación.

Los usuarios de Ubuntu y distribuciones con pleno soporte para PPA, sólo pueden pegar estos comandos en la terminal:

sudo add-apt-repository ppa:shnatsel/zram
sudo apt-get update
sudo apt-get install zramswap-enabler

Esto nos instalará el kernel 2.6.38.11 en Ubuntu Natty. También disponible para Ubuntu 11.10.

O bien, simplemente descargamos el .deb y lo instalamos.

Si no tenemos soporte para PPA o no usamos Ubuntu, podemos descargar el tar.gz desde acá, o explorar el código desde el BZR.

ATENCIÓN:  Este es un Script que funciona con Upstart, y vamos a necesitar de él. Además deberemos colocar el archivo «zramswap.conf» dentro de /etc/init y luego iniciarlo con sudo start zramswap.

Lo dicho, requiere de Upstart, algunos distribuciones como Fedora 15, Mandriva 2011, openSUSE, etc. utilizan systemd.

Llevo unas cuantas horas probándolo y todo corre perfecto. He notado que el tamaño de mi SWAP se ha incrementado hasta 5.5 GiB y como este nuevo espacio virtual se aloja en la RAM, no sólo es volátil, sino que es mucho más rápido.

Fuente, Web Upd8

Más información:

Acerca de Martín Casco

Abogado, Socio del "Estudio Yaccuzzi & Casco"

16 comentarios el “ZRAM, incrementando la performance de Linux

  1. Realmente interesante, hay que ver el script para saber como hace para acelerar la velocidad en los dispositivos I/O por bloques comprimido en la RAM.

  2. MUCHÍSIMAS GRACIAS!, funciona perfecto!, el sistema en general anda mucho mas rápido y la swap pasó de tener 1GB a tener 3.

  3. también sería interesante saber como se comporta cuando se hiberna el equipo.

  4. Y se nota la diferencia?

  5. he notado una diferencia al ejecutar aplicaciones de que requieren de ram, . com que anda mas holgado

  6. La pagina de tu Blog se ha actualizado…

    [..]Articulo Indexado Correctamente en la Blogosfera de Sysmaya[..]…

  7. Cordial Saludo.
    He querido usar este programa para ver si puedo apreciar una mejora en el rendimiento pero no he podido usarlo porque falla al iniciar, he aquí el mensaje que obtengo:

    Configurando zramswap-enabler (0.2.1-0~12~natty1) …
    start: Job failed to start
    invoke-rc.d: initscript zramswap, action «start» failed.
    dpkg: error al procesar zramswap-enabler (–configure):
    el subproceso instalado el script post-installation devolvió el código de salida de error 1
    Se encontraron errores al procesar:
    zramswap-enabler
    E: Sub-process /usr/bin/dpkg returned an error code (1)
    Un paquete no se pudo instalar. Tratando de recuperarlo:
    Configurando zramswap-enabler (0.2.1-0~12~natty1) …
    start: Job failed to start
    invoke-rc.d: initscript zramswap, action «start» failed.
    dpkg: error al procesar zramswap-enabler (–configure):
    el subproceso instalado el script post-installation devolvió el código de salida de error 1
    Se encontraron errores al procesar:
    zramswap-enabler

    Realmente no se que hacer para solucionar el problema, ya he leído los comentarios de la pagina web upd8 acerca de zram y de otras paginas donde el creador expone su script pero aun no encuentro la solución.

    Espero que puedan brindarme una ayuda porque tampoco puedo desinstalarlo, realmente quiero probarlo y veo que a otros les funciona.

    Agrego estos datos:
    – Ubuntu 11.04 Nucleo 2.6.39-0-generic x86_64
    – tengo Upstart y el archivo conf de zram esta instalado en /etc/init
    – descargue el deb y falla de igual forma.

    Agradecimientos por la lectura de este comentario.

    • Tenes activos todos los repositorios?

      • Cordial saludo y muy amable por responder.

        Si, tengo activado el repositorio de shnatsel y los demás funcionan correctamente, disculpe no haber mencionado que la primera vez que intente instalar este script fue a través del repositorio de shnatsel junto con los típicos comandos que uno usa para instalar programas. No funciono, instale usando el *.deb y tampoco.

        Gracias y Éxitos.

      • De casualidad, no tiene activos los repositorios Proposed y compañia? El kernel 2.6.38 lo ha desinstalado?

      • Saludos.

        De Soft-Libre: De casualidad, no tiene activos los repositorios Proposed y compañia? El kernel 2.6.38 lo ha desinstalado?

        Respuesta: tengo activo 3 repositorios : security (Actualizaciones importantes de seguridad), updates (recomendadas) y proposed (actualizaciones aun no publicadas), el único que esta desactivado es backports (actualizaciones no soportadas).

        Todavía tengo instalado el kernel 2.6.38, tengo 2.6.38-10-generic.

        Gracias por su interés en mi mensaje, que otra información necesita para facilitar la labor que esta realizando al ayudarme en encontrar una solución a mi problema.

        PD: es la primera vez que pido ayuda en esta pagina, ¿debo seguir comentando haciendo click en el botón de responder el primer comentario que usted me ha enviado?.

      • Saludos.

        Estuve revisando el repositorio de shnatsel, y vi que zRAM esta «construido» (builds) para i386, ¿ tendrá algo que ver?¿es posible que no funcione porque mi plataforma es x86_64?.

        También estaba mirando el reporte de bugs y solo aparece una publicación que habla de zRAM, este es el enlace:

        https://bugs.launchpad.net/ubuntu/+source/initramfs-tools/+bug/665785

        vergonzosamente debo aceptar que no entiendo nada, solo que parece que hay problemas con la configuración dada por otro archivo, que no hay soporte para algunos núcleos y que dos usuarios han publicado parches para solucionar el problema, ¿estoy en lo correcto o totalmente equivocado?.

        Ahora, leyendo los otros mensajes veo que un parche no menciona mi versión del núcleo por lo que no le veo solución, al menos a corto plazo.

        Y leyendo otros artículos, algunos usuarios han visto que sus computadoras se vuelven mas lentos, no les funciona Zram no en el sentido de que no hallan podido instalarlo sino por la función inherente de este script que es comprimir cache en ram por lo que resulta obvio que esa labor tiene que realizarla el microprocesador.

        Bueno hasta acá he llegado, por ahora no le veo pronta solución, ya he leído otros artículos que hablan de lo mismo, todos mencionan que lo han instalado correctamente pero parece que soy parte de un exclusivo grupo que no le funciona, no me parece bien tanta exclusividad para mi, no me gusta ser parte del «club» de los que un programa no les funciona.

        Gracias por la atención brindada y lectura de este y los anteriores comentarios.

    • Saludos.

      Después de este tiempo de averiguar en un lado y en otro, finalmente no he podido encontrar solución a mi problema por lo que he optado por desinstalar zram.

      Me impresiona los comentarios de muchas paginas web donde lo han instalado y les ha funcionado pero soy de los pocos que no puede instalar esta aplicación y creo que se debe a que esta únicamente para i386. Para agregar, descubrí este error:

      xvmalloc: exports duplicate symbol xv_get_total_size_bytes (owned by kernel)

      por lo que entiendo, el programa hará uso de una variable que ya tiene el mismo nombre de alguna otra variable usada por el SO.

      Bueno, eso es todo.

  8. […] ZRAM, incrementando la performance de Linux […]

  9. […] "jqmodal", embeddedHeight: "400", embeddedWidth: "425", themeCSS: "" }); . ZRAM, incrementando la performance de Linux « Soft-Libre . ZRam: incrementa el rendimiento de […]

Deja un comentario