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
Explicación técnica
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 como 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.
Comentarios