Cómo mejorar el rendimiento de Ubuntu /Experto

Publicado el 13 octubre 2011 por Pascasio


Bueno, hoy os traigo una trabajo muy curioso de los chicos de elementaryOs, en el que tratan de mejorar el uso de la memoria swap.  Para los que no lo sepaís la memoria swap es una partición del disco duro que se usa para ayudar a soportar todos los datos temporales que se usan para que funcione correctamente el sistema operativo y los programas cuando la memoria RAM se satura.
El problema que tiene Linux en general y yo lo he comentado en varios foros pero nadie me ha dado una respuesta razonable es que una vez que se satura la RAM porque tienes muchos programas funcionado a la vez y la memoria Swap comienza a funcionar, ya aunque cierres esos programas la memoria Swap no libera espacio y sigue funcionando hasta el próximo reinicio del ordenador.
El problema de todo esto es que la memoria Swap es mucho más lenta que la memoria RAM, por lo que una vez que empieza a funcionar la memoria Swap, el ordenador se vuelve algo más lento. Para solucionar esto hay un pequeño truco de configuración de Linux pero no deja de ser un pequeño "parche". Se trata  de poner más prioridad al uso de la memoria RAM que a la memoria Swap. Creo que de serie viene configurado 60% para memoria RAM y 40% para memoria Swap. De esta forma cuando estemos usando más del 60% de la RAM, la memoria Swap comienza a funcionar. El "truco" de configuración que me refiero es re-configurar estos valores. Dar un 80% a la memoria RAM y un 20% a la Swap o incluso un 90% RAM 10% Swap. De esta forma hasta que no este prácticamente usada la memoria RAM, la memoria Swap no comienza a funcionar por lo que el ordenador os irá más rápido con los mismos programas funcionando.
Esto no deja de ser un pequeño "parche" ya que una vez que pasemos del 80% o 90% de RAM ocupada, la Swap comenzará a funcionar, y el problema no es que funcione la memoria Swap, sino que después no libera espació aunque cerremos todos los programas por lo que el ordenador funciona mucho más lento.

Los chicos de elementaryos, han tenido una idea mejor que la mia. Se trata de hacer creer a Ubuntu que parte de la memoria RAM es memoria Swap. De esta forma cuando pase del 60% el uso de la memoria RAM, el ordenador comenzará a escribir en la memoria Swap, pero esa memoria Swap es una parte de la memoria RAM por lo que no tendremos una caída del rendimiento.
Sergey Davidoff, el creador de este parche a comentado con estas palabras el resultado de su creación:
I decided to give it a try, and the result on my desktop with a quad-core CPU and 2Gb of RAM was fantastic: instead of freezing after running out of RAM, the system worked like nothing happened. I didn’t notice any difference at all. It looked just like adding more RAM! Surprisingly, I got almost the same results on a 6-year-old laptop with Pentium M and 1Gb of RAM! So, I’ve improved the script to automatically adapt to the amount of memory in the system and automatically scale across several CPUs or CPU cores, packaged it in .deb and uploaded to PPA.

Más o menos viene a decir lo siguiente:
He decidido probarlo, y el resultado en mi ordenador con cuatro núcleos y 2 Gb de RAM ha sido fantástico. En vez de quedarse colgado al quedarse sin RAM, el sistema siguió funcionando como si nada. No noté ninguna diferencia. ¡Parecía como si hubiese instalado más RAM!. ¡Es sorprendentemente, prácticamente conseguí el mismo resultado en un Portátil de 6 años de antigüedad con un Pentium M y 1 Gb of RAM!. Por tanto, he mejorado el script para que automáticamente se adapte a la cantidad de RAM, el tipo de procesador y el número de núcleos, todo en un paquete .deb y subido al PPA.

¿Alguien más se anima a probarlo? Para instalar este parche en el ordenador lo mejor es agregar su ppa y así según vaya sacando Sergey Davidoff actualizaciones del parche poder tenerlas disponibles en tiempo real. Para ello abrimos la terminal y escribimos lo siguiente:
  1. sudo add-apt-repository ppa:shnatsel/zram
  2. sudo apt-get update
  3. sudo apt-get install zramswap-enabler
Una vez instalado, para lanzar este parche llamado "Zram" tenemos que poner este comando en la terminal:
  1. sudo start zramswap
Para que se inicie siempre este programa cuando se inicie el ordenador, o bien ponéis este comando cada vez que iniciáis, o lo ponéis como aplicación a iniciar cuando se inicie Ubuntu. 
Para los que tengan un ordenador bastante potente ni os molestéis en usar esta aplicación ya que no notareis nada. Para los que tengan 1Gb de RAM o menos seguro que lo notareis cuando tengáis muchos procesos abiertos. Un saludo y a disfrutar de esta "turboram"