Acelerar el arranque en Ubuntu

19/08/2008 21:08 por Álvaro J. Iradier

Tras leer varios artículos al respecto, me he decidido a resumir una serie de consejos para tratar de reducir el tiempo de arranque de un sistema Ubuntu Linux. En concreto, la versión 8.04 (Hardy Heron).

Si bien los desarrolladores de Ubuntu han trabajado duro en hacer el arranque lo más óptimo posible, con mejoras como el readahead, es posible que se estén arrancando servicios y procesos en el inicio que no son necesarios en nuestro sistema.

Si miramos el contenido de la carpeta /etc/init.d encontraremos los scripts de inicio y detención de servicios instalados en nuestro sistema. No todos estos scripts tienen serán ejecutados durante el arranque, aunque la mayoría sí. Para averiguarlo, podemos listar el contenido de las carpetas /etc/rcS.d y /etc/rc2.d, que contendrán accesos directos a los scripts ejecutados durante el arranque del sistema, en el caso del primero, y los ejecutados al entrar en el runlevel 2, que es el nivel de ejecución por defecto en Ubuntu.

Podemos averiguar a qué paquete pertenece un script de inicio mediante el comando:

dpkg -S /etc/init.d/nombrescript

Una vez sepamos el paquete al que pertenece, podremos proceder a examinarlo (por ejemplo con apt-cache show o con dpkg, y borrarlo si es prescindible (y siempre con mucho cuidado) con apt-get remove. En mi caso, eliminé los paquetes relativos al soporte de PCMCIA (pcmcia-utils), y el servicio avahi.

La herramienta bootchart nos permitirá indagar más en profundidad, y ver qué servicios están arrancando, y el tiempo utilizado por cada uno. Podemos instalarlo con apt-get install bootchart. La instalación debería actualizar el initramfs, pero en mi caso no lo hizo correctamente, por lo que manualmente ejecuté update-initramfs -u -k all como superusuario, forzando la regeneración de los initramfs.

Una vez instalado correctamente, y tras reiniciar el sistema, podemos encontrar en /var/log/bootchart un archivo .png con un detallado diagrama del arranque del sistema. Así descubrí cómo un interfaz de red configurado manualmente para DHCP interrumpía el arranque un largo rato cuando no había conexión de red. Dejar el interfaz en manos del network manager solucionó el problema.

No hay que olvidarse de desinstalar el paquete bootchart, y volver a actualizar el initramfs, una vez hayamos terminado nuestra tarea, o la propia recolección de datos ralentizará el arranque.

Otra medida sencilla que puede disminuir el tiempo de arranque es permtir la ejecución en paralelo de los scripts de inicio. Por defecto, Ubuntu lanza secuencialmente los scripts, aunque tengan la misma prioridad. Si editamos el archivo /etc/init.d/rc, y cambiamos la línea:

CONCURRENCY=none

por:

CONCURRENCY=shell

los scripts con la misma prioridad se ejecutarán en paralelo. Si esta opción viene desactivada por defecto, es por algún motivo, ya que podemos encontrar problemas en ciertos sistemas. Conviene asegurarse con varios reinicios que todo sigue funcionando correctamente, antes de hacer este cambio definitivo.

Finalmente, cuando tengamos a punto todos estos pasos, lo más conveniente es volver a afinar la lista de archivos pre-leídos por readahead. La forma más fácil es reiniciar el sistema, y entrar en el menú de arranque de Grub. Ahí editaremos la línea de comandos del kernel, y añadiremos la palabra profile al final. Por ejemplo, de:

 root=UUID=43b7048a-1e73-49ac-8a5d-8663ad950420 ro acpi=force splash quiet

pasaremos a dejar la línea como:
 root=UUID=43b7048a-1e73-49ac-8a5d-8663ad950420 ro acpi=force splash quiet profile

esperaremos paciéntemente a que termine de arrancar el sistema, que se tomará un rato más largo de lo habitual. Durante este arranque, readahead elaborará una lista de todos los archivos leídos durante el arranque, y los ordenará por su posición en el disco duro, de forma que en sucesivos arranques estos archivos sean pre-leídos y cargados en la memoria cache de disco de la forma más rápida posible.
profile (readahead). Cuando el sistema termine de arrancar, lo reiniciaremos, y habremos terminado de ajustar el readahead.

Comentarios

11/03/2011 09:08 por rcoqfrsmicu

1iSqVo <a href="http://ryvonotvpsyn.com/">ryvonotvpsyn</a>, [url=http://jifrfugzgryd.com/]jifrfugzgryd[/url], [link=http://ysyovsqgfcwl.com/]ysyovsqgfcwl[/link], http://uxrzipnukyhs.com/

15/12/2011 09:08 por Kelli

Good to see real epxetrsie on display. Your contribution is most welcome.

16/12/2011 09:08 por zevehnxsbfn

WKLg4r , [url=http://esbjntuvzssk.com/]esbjntuvzssk[/url], [link=http://ggorubblmqcu.com/]ggorubblmqcu[/link], http://uckqvzfdsoye.com/

18/12/2011 09:08 por odyaovy

XGCrfB , [url=http://snjizdunqotm.com/]snjizdunqotm[/url], [link=http://yjtpqytavxkl.com/]yjtpqytavxkl[/link], http://ldrtjzbtmqfv.com/

25/09/2015 09:08 por Maha

Hola Juan Pablo. Sobre Sirius el proyecto como tal ya no este1 en mis manos, camobarin un poco las cosas. Sobre la distro basada, no se si continfae por el momento algo explique9 ace1:Sobre el compartir, logre acomodar algunos problemas pero surgieron otros de actualizacif3n, asique eso hasta no arreglarlo no se podre1. Sf3lo tienen acceso quienes pudieron descargar hace unos meses.En fin, estoy en otra, espero continuar me1s adelante. Muchas gracias! Saludos

08/10/2015 09:08 por Shiva

Hola ENZO como andas??? yo estuve en el<a href="http://dayyzytfbi.com"> crseogno</a> de la FliSol el af1o pasado (2010) y me gusto la idea de Sirius OS. No existe alguna forma que publiques lo que tienes hasta el momento?? bueee quisiera que compariteras con el mundo tu creacf3n! . espero que cuando necesites ayuda pueda servirte de algo (como te dije soy bueno en disef1o) . Suerte!

09/10/2015 09:08 por Fourth

if Intrepid was faster. I also put Jaunty on a maobcok, and feels pretty faster than Intrepid.I really think Jaunty being slow on your pc it's not normal and may be an issue. But keep in mind you may have many services installed. Obviously quite every benchmark you see on the net is about a clean installation, instead. http://xscehuobeom.com [url=http://pwninzms.com]pwninzms[/url] [link=http://nnfulwclglv.com]nnfulwclglv[/link]

09/10/2015 09:08 por Tassiana

Wow! Just getting to the login <a href="http://nrkgtgsih.com">sceren</a> and not counting GRUB on Jaunty takes me 35 seconds. SSDs must be pretty amazing. Did he time Intrepid too? Is Jaunty faster or slower than Intrepid on that hardware? For me, Jaunty is much, much slower (but I'm not using SSD).

09/10/2015 09:08 por Lileshwar

Bruno dit :Bravo pour le titre accrocheur !En re9alite9 le gain de 20% contaste9 par Photonix concerne uniquement GCC (compilation). On pourrait donc seulement dire que GCC 4.3 est 20% plus rapide que GCC 4.2. Et encore il faudrait obtenir le meame re9sultat sur plusieurs compilations/machines/architectures. Donc bravo aux de9veloppeurs de GCC, mais Ubuntu n y est pour rien et n est pas plus rapide qu avant.Quant aux gains contaste9s sur les performances en lecture des pe9riphe9riques SSD, c est tre8s probablement dfb aux e9volutions de modules du noyau. Le0 encore Ubuntu n y est pour rien, bravo aux de9veloppeurs du noyau, cela ame8liore certainement le9ge8rement les performances des machines utilisant des disques SSD mais Ubuntu n est pas plus rapide qu avant. http://gxkvqdisahq.com [url=http://bhwxfs.com]bhwxfs[/url] [link=http://afigfamnbaf.com]afigfamnbaf[/link]

Publicar Comentario


El Email no se mostrará públicamente
Captcha =
Introduzca el resultado de la operación


Warning: Todo parecido de lo expuesto en esta página con la realidad es pura coincidencia.
Las historias y personajes aqui reflejados son fruto de la imaginación de una mente perturbada.
Está permitida la distribución y modificación de todos los contenidos de esta web, siempre que se cite la fuente.

Diseño por Wink Hosting.