Hace 5 años

Hacer Ubuntu un poco más rápido

Este articulo forma parte de Que hacer antes y después de instalar Ubuntu.

Al kernel de Linux poco le podemos hacer para que vaya más rápido, puesto que ya nos viene optimizado. Sin embargo donde si podemos hacer algo es en mejorar la eficiencia de sistema de nuestra distro. Aquí os dejo algunos consejos que yo mismo sigo. De todos ellos, Prelink es con el que más se nota una gran diferencia. De todas formas es cuestión de probarlos y decidir si usarlos o no.

Actualizado el 1-8-2013

Prelink

Cuando ejecutamos un programa, este hace uso de unas librerías que tiene que localizar y cargar en memoria. Incluso en muchos ocasiones las librerías que necesita son compartidas por otros programas que ya están en uso. Lo que hace prelink es enlazar el programa con las librerías asignandole una dirección virtual a cada una y guardando esa información en el mismo programa. De este modo el inicio de los progrmas es mucho más rápido.

sudo apt-get install prelink

Una vez instalado tenemos que configurarlo para que nos funcione correctamente. Lo primero es modificar las siguientes propiedades. Con la primera linea activamos prelink, mientras que con la segunda linea conseguimos que prelinke todos los binarios y librerías que estén en el archivo /etc/prelink.conf.

sudo gedit /etc/default/prelink
PRELINKING=yes
PRELINK_OPTS=-amR

Tras la configuración, ejecutaremos prelink por primera vez. Esto puede tardar un poco, ya que le hemos dicho que enlace todos los programas del sistema con sus librerias.

sudo prelink -amvR

Como he dicho la información recopilada por prelink para cada programa es guardada dentro del mismo. Eso quiere decir que al actualizar el sistema con las nuevas versiones de los programas y librerias, esta información se perderá. Obligandonos a volver a crear los enlaces a sus respectivas librerias, como si fuese la primera vez. Este proceso lo podemos automatizar y hacer que se haga tras cada instalación o actualización con apt-get o synaptic.

sudo gedit /etc/apt/apt.conf
DPkg::Post-Invoke {"echo Ejecutando prelink, por favor espere...;/etc/cron.daily/prelink";}

Preload

Este pequeño programa registra y monitorea las aplicaciones y procesos que más usamos, y las precarga en memoria reduciendo así el tiempo de inicio al ejecutarlos. La monitorización se hace cada 20 segundos, adaptándose a los posibles cambios predictivos.

sudo apt-get install preload

Swap

La partición Swap, o de “intercambio”, es lo que también se denomina memoria virtual. Imaginemos que abrimos tres aplicaciones, aunque las tres están activas hay dos que lo hacen en segundo plano. Mientras haya memoria RAM no hay problema, pero si se llena, el sistema traspasa la información de la aplicación menos activa a la partición Swap, para trabajar con la aplicación con la que estemos trabajando en la memoria RAM. Si cambiásemos a otro de los programas que tuviéramos abiertos, de nuevo el sistema volvería a traspasar la información de la aplicación que ha quedado en segundo plano a la memoria Swap y la aplicación elegida para trabajar con ella a la memoria RAM. Utilizar memoria virtual tiene como ventaja proporcionar más memoria cuando la memoria RAM se ha agotado. El inconveniente es que la memoria virtual es más lenta.

Modificando el valor swappines, podemos hacer que haga más o menos uso de la la partición SWAP. El valor predeterminado es de 60 y lo podemos bajar según la cantidad de memoria RAM que tengamos, haciendo que la use menos cuanto más bajo sea.

Además el Kernel usa dos memorias caché controlada por el valor vfs_cache_pressure. Una memoria caché la usa para tareas de datos en general como copiar un archivo, mientras que la otra la usa para por ejemplo abrir ficheros, directorios o hacer búsquedas. Estas dos memorias compiten entre si para conseguir más memoria. El valor por defecto está en 100, dando prioridad a la memoria caché para las tareas de datos. Teniendo en cuenta que si lo que menos hacemos es este tipo de tareas lo mejor será bajarlo a 50.

sudo gedit /etc/sysctl.conf
vm.swappiness=10
vm.vfs_cache_pressure=50

Comprobamos el cambio
sudo sysctl -p

Una vez se activa la memoria Swap el sistema en ocasiones suele ralentizarse. Esto se soluciona traspasando el contenido de la memoria Swap a la memoria RAM. Previamente comprobaremos que hay espacio para ello, con free, que nos muestra la estadística de la memoria, antes y después de realizar el traspaso.

free
sudo swapoff -a && sudo swapon -a
free

Mover el directorio temporal a la memoria

Todos sabemos que la memoria es más rápida que el disco, pero también conseguiremos darle más vida a nuestro disco duro. Así que añadiremos al final del archivo fstab la siguiente linea, tras lo cual reiniciamos el ordenador:

sudo gedit /etc/fstab
# Carpeta Temporal en memoria
tmpfs /tmp tmpfs defaults,nosuid 0 0

Acelerar el arranque

En cada arranque el Grub busca los controladores más adecuados para el sistema. Lógicamente si no hacemos ningún cambio en el hardware siempre cargará los mismos. Por lo cual podemos hacer que el Grub nos cree un perfil con los controladores necesarios para el sistema, y evitar que los tenga que buscar en cada arranque, acelerando el tiempo de inicio. Esto se consigue haciendo que en cada arranque use el mismo perfil, que hemos de crear con el mismo GRUB. Para crear el perfil hemos de hacer el siguiente cambio.

sudo gedit /etc/default/grub
buscamos la siguiente linea
GRUB_CMDLINE_LINUX_DEFAULT = “quiet splash“
y añadimos ‘profile’, quedando así
GRUB_CMDLINE_LINUX_DEFAULT = “quiet splash profile”.

Guardamos y actualizamos el GRUB
sudo update-grub2
Reiniciamos
sudo reboot

Tras el primer reinicio, el perfil ya estará creado por lo tanto debemos dejarlo como estaba.

sudo gedit /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT = “quiet splash“

sudo update-grub2

Deshabilitar servicios

Cuando se inicia el sistema se cargan una serie de aplicaciones que la distro considera como necesarios para un usuario modelo. Pero por ejemplo, para que cargar el servicio de Bluetooth, sin no lo usamos, o porque cargar el gestor de energía, si no es un portátil. A partir de la versión Ubuntu 11.10 Oneiric, no incluyen ninguna aplicación para desactivar los servicios. Por lo caual debemos instalarla nosotros. Disponemos de dos paquetes rcconf que es para usar en la terminal y Boot-Up Manager que se puede usar en el entorno gráfico. Sobre todo mucho cuidado con deshabilitar un servicio necesario.

sudo apt-get install rcconf bum

Eliminar idiomas

Durante la instalación del sistema, podemos elegir el idioma. Sin embargo tras la instalación también tendremos instalado el inglés. Si no nos es necesario, los podemos eliminar en Soporte de idiomas, que lo tenemos en Configuración del sistema.

Unity (Compiz)

Para darle más rendimiento abre el Administrador de opciones CompizConfig. En el plugin OpenGL ponemos el Filtro de textura en Rápido y la opción de Sincronizar con borrado vertical la deshabilitamos. Y en el plugin Unity cambiamos la opción Dash Blur a No blur.

Ubuntu/Linux
3988
6

6 comentarios

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

  • AlexB3D dice:

    Hola, tengo que hacerte algunos comentarios.

    Pasar los temporales a la ram me ha inutilizado el flujo de trabajo, primero, es mucho mas rapido, mucho, pero cuando tengo que hacer un render en Blender, que consume 7Gb de los 8 que tengo, la memoria se llena y empieza a mandar todo a swap, ahí se relentiza al nivel de inutilizable, no se si para otras funciones servirá, pero para hacer renders o trabajos d ealto consumo de ram como edición de video, no.

    Configurar el swap nunca me ha funcionado, me relentiza la máquina.

    Eliminar el idioma ingles es un error, es el idioma base de la aplicación y si no tiene una traducción completa va a dar error.

    El preload siempre me ha funcionado bastante bien, ahora voy a probar el prelink…

    Tengo una duda con respecto al arranque, creo haber leido que se le puede asignar todos los nucleos del procesador para acelerarlo ¿Conoces esto?

    • Jhosue dice:

      Gracias por tu comentario. Como puedes comprobar el articulo lo actualice en agosto de 2013 y en el pongo un resumen de todas las posibilidades para mejorar algo la velocidad. Desde entonces han habido nuevas versiones tanto de Ubuntu como del kernel GNU/Linux. Lo que hace que algunas de estas opciones no sean necesarias activar.

      Tener mucha memoria RAM es importante y más usando editores de vídeo, Blender o incluso Gimp para abrir fotografías de calidad. El consejo de la Swap es para no usarla partición Swap del disco duro o usarla lo menos posible.

      Yo siempre que hago una instalación nueva elimino el idioma inglés del sistema y no he tenido ningún problema. Este solo afecta al escritorio, y no a los programas como LibreOffice. Para LibreOffice si añado los que necesite de cada idioma.

      En cuanto a tu duda he leído que es posible que cada núcleo del procesador pueda iniciar aplicaciones paralelamente, para iniciar el sistema más rápido y ejecutar varias aplicaciones a la vez. Cambiando en la linea que no contenga # lo siguiente CONCURRENCY=makefile por CONCURRENCY=startpar, con el siguiente comando.

      sudo gedit /etc/init.d/rc

  • Manuel Rivera dice:

    Hola! Gracias por los tips. Me queda algunas dudas:

    – Esto que mencionas, “Una vez se activa la memoria Swap el sistema en ocasiones suele ralentizarse. Esto se soluciona traspasando el contenido de la memoria Swap a la memoria RAM. Previamente comprobaremos que hay espacio para ello, con free, que nos muestra la estadística de la memoria, antes y después de realizar el traspaso.

    free
    sudo swapoff -a && sudo swapon -a
    free”

    Es automático de alguna manera? O es necesario que lo ejecute cada vez?

    Por otro lado, siempre me pregunte las opciones de Compiz como Sincronización Vertical, entre otras tantas, Vertex Buffer, compresión de textura, cual activar o desactivar para que corra fluida mi Ubuntu. Agradecería si tuvieses alguna ino al respecto.

    • Jhosue dice:

      La ralentización es causa de la diferencia de velocidad de escritura/lectura entre las memoria RAM y el disco duro. Con lo cual para que el sistema vaya fluido lo mejor es usar siempre la memoria RAM. Si notamos que el sistema va más lento es cuando podemos liberar la memoria Swap de forma manual.
      Este problema lo he tenido especialmente con Ubuntu 13.04, y en ocasiones con Ubuntu 12.10, teniendo en cuenta que mi ordenador tiene 4Gb de memoria RAM. Parece que en cada versión necesita más recursos. Para solucionarlo me he cambiado a Xubuntu 13.04.

      En cuanto a Compiz escribí el articulo Configurar Compiz en Ubuntu 12.04. Ahora en Xubuntu he sustituido el gestor de ventanas Xfwm por Compiz/Emerald y va perfecto.

      • Manuel Rivera dice:

        Pues la verdad también tengo ese problema con la ram, por momentos me va demasiado lento y con Monitor de sistema veo que la ram esta por 80-90% y la swap ya se está usando. Algo curioso es que muchas veces Google Chrome es el que más memoria me ocupa, incluso he visto un proceso de Chrome con 1GB de ram usada. Tengo 4GB RAM, Core 2 Duo, y bueno, una tarjeta ATI. Lo de Chrome es preucupante para mi.

        Lo de Compiz ya lo configure así, Gracias!

        • Jhosue dice:

          El consumo de Chrome puede ser preocupante, pero no tanto como los más de 2Gb de consumo de RAM que tienes. Yo de momento he optado por cambiarme a Xubuntu, y si en futuras versiones de Unity corrigen este problema, posiblemente le de otra oportunidad.