Publicado el Martes 13 de Noviembre del 2007 @ 22:16 por Armonth.
Leo a Ricardo Galli comentando un “viejo” (lo descubrí en Dapper) truco que puede servir para acortar el arranque de Ubuntu significativamente (en un equipo me ha llegado a reducir ¡15 segundos!), viejo pero sigue siendo efectivo y poco conocido.
Al cargar GRUB (el cargador de sistemas operativos usado para elegir entre Ubuntu, Windows o lo que tengas instalado) hay que hacer lo siguiente:
- Posiciona el selector sobre el kernel que arrancas.
- Presiona “e” para editar.
- Posiciona el cursor sobre las líneas donde están las opciones.
- Presiona “e” para editar
- Agrega al final la palabra “profile” (dejando un espacio con las anteriores), luego dale al enter.
- Cuando vuelva a la pantalla anterior presiona “b” para que arranque.
- Espera un poco más que hará el índice.
- Et voilà
Por si no quedase claro, la línea es parecida a:
kernel /vmlinuz-2.6.17-1-686 root=/dev/hda2 ro single
Y debe quedar como:
kernel /vmlinuz-2.6.17-1-686 root=/dev/hda2 ro single profile
Las distribuciones modernas utilizan un demonio “readahead”, normalmente llamado así o “preload”, un demonio de éste tipo se encarga de monitorizar las aplicaciones (servicios en el caso que nos toca) que el usuario ejecuta y analiza los datos para poner los binarios de los programas en memoria RAM y acelerar con ello los procesos…
Ubuntu mantiene un índice, normalmente en /etc/readahead/boot, que sirve para cargar de golpe todos los servicios — por ejemplo cupsd para la impresión o syslogd para los registros — en memoria RAM (o en alguna intermedia como la caché de los discos duros) y acelerar con ello el arranque.
El problema radica en que ese índice es el que viene por defecto: si hemos instalado más servicios que arrancan al principio no saldrán en el índice y por tanto no los cargará hasta que se requiera su ejecución.
Añadir el “profile” a la línea de arranque del GRUB obligará a éste a reconstruir el índice. Esto lo hará una sola vez y el arranque en esa carga será más lento pero los posteriores serán algo más rápidos.
Y digo yo que se podrá añadir la opción al “/boot/grub/menu.lst” y así no tener que ponerla en cada arranque ¿no? Porque loq eu ganas de arranque lo pierdes editando las opciones en el grub :)
Vale, me contesto a mi mismo, agregando eso genera el indice y no hay que volver a ponerlo… Perdon….
Ordenar la lista:
# cat /etc/readahead/boot | xargs stat -c %i.%n | sort -n | cut -d”.” -f2- > boot.sorted
# sudo cp boot.sorted /etc/readahead/boot