Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Acelerar el inicio de GNU/Linux
#1
Acelerar el inicio de GNU/Linux


[align=center][Imagen: hvLY.jpg]

Para reducir el tiempo de inicio en Linux hay varias cosas que pueden hacerse. Paralelizar la carga de scripts de inicio, deshabilitar servicios que no utilicemos, cargar demonios en segundo plano entre algunas de ellas. En este caso la reduccion de los tiempos se traslada a nivel de disco. Es decir, lo que se intenta hacer es reacomodar la informacion que se utiliza en el arranque para que esta pueda ser leida sin que el cabezal del disco rigido tenga que "saltar" de un sector a otro. Si tenes un disco SSD esto no aplicará ninguna mejora por la forma en que se acceden los datos en este tipo de discos.

Todo esto es posible gracias a E4rat (ext4 Reduced Access Time), un conjunto de herramientas que aprovechan una caracteristica que fue introducida en la version del kernel 2.6.31 que permite la defragmentacion on line de los volumenes con formato ext4.

Las siguientes son las imagenes del bootchart que el autor publico en su sitio web donde se muestra la mejoria de estas herramientas. En una CPU Intel Core2Duo E8200 con un disco rigido Western Digital WD2500YS-01S corriendo Debian Wheezy paso de aproximadamente 45 segundos a tan solo casi 15 segundos. En mi caso con una PC mas modesta y corriendo Ubuntu 10.10 solo pude obtener una mejora del 25% (nada despreciable de todas formas)

[Imagen: Vrzfj.png]

Bootchart antes de la optimización

[Imagen: mSNxw.png]

Bootchart luego de la optimización

-----------------------------------------------------------------------------------------------------------------

Manos a la obra!

Primero descargan el .deb dependiendo la arquitectura que utilicen o el archivo fuente si no son usuarios de Debian o algun derivado desde este link. Para arch esta disponible via AUR pero en mi caso aplicar este metodo me ha sido contraproducente, tal vez sea por la forma en que Arch inicia.

Si utilizan Ubuntu este paquete tiene un conflicto con ureadahead y para que e4rat funcione es necesario desinstalarlo previamente.


Ahora instalá las dependencias requeridas por e4rat

Cita:sudo aptitude install libblkid1 e2fslibs

o
Cita:sudo apti-get install libblkid1 e2fslibs
(Ubuntu 11.04)

El proceso se divide en 2 partes:
Recoleccion de informacion
Realocacion de la informacion

Recoleccion de informacion


E4rat debe saber cuales son los archivos que deben realocarse para acelerar el proceso de inicio. Es por esto que hay que agregar a la linea del kernel en el archivo /boot/grub/grub.cfg o menu.lst lo siguiente:

Cita:init=/sbin/e4rat-collect


Entonces la entrada del grub quedaria algo similar a esto

Cita:menuentry "Ubuntu, with Linux 2.6.35-30-generic" --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos2)'
search --no-floppy --fs-uuid --set=root 28fff97a-ca59-4660-92eb-9d7d0dc617bf
linux /vmlinuz-2.6.35-30-generic root=UUID=db9568fb-579e-4a0c-8d04-5b2bd8260456 ro quiet splash nomodeset video=uvesafb:mode_option=1024x768-24,mtrr=3,scroll=ywrap init=/sbin/e4rat-collect
initrd /initrd.img-2.6.35-30-generic
}


Luego de guardar los cambios hay que reiniciar para que comience la recoleccion de informacion necesaria para la realocacion de los datos. Desde que se inicia el sistema E4Rat colectará informacion durante los siguientes 120 segundos. Al principio tarda unos segudnos pero seguramente vas a tener el sistema funcionando antes de los 120 segundos. Durante ese tiempo se siguen monitoreando los archivos que se utilicen, entonces para terminar la recoleccion de informacion podes ejecutar en la consola

Cita:sudo e4rat-collect -k
o
sudo killall e4rat-collect



Con esto, ya se saben que archivos deberian ser realocados en el disco. La lista de estos archivos se puede encontrar en /var/lib/e4rat/startup.log por si queres saber cuales son

Si los datos fueron recolectados ahora es necesario eliminar la linea en el kernel que se agrego anteriormente para que en el proximo reinicio no vuelva a ejecutarse la herramienta de recoleccion.

Ya casi terminando es necesario eliminar la linea que se agrego al kernel en el grub.cfg para que en el proximo inicio no se intente recolectar informacion nuevamente.

Realocacion de la informacion


Para que la informacion se ordene hay que abrir una consola y ejecutar:

Cita:sudo init 1


con esto se quedaran sin interfaz grafica pero a no asustarse que no hay que hacer mucho. A los usuarios de Ubuntu les aparecerá un menu donde deben elegir root console o similar sino deben loguearse como root. Una vez autenticados como root se comienza la recoleccion ejecutando:

Cita:e4rat-realloc /var/lib/e4rat/startup.log


Esto puede tardar un tiempo dependiendo de la cantidad de archivos que deben reorganizarse y es aconsejable ejecutarlo unas cuantas veces hasta que no haya ninguna mejora por aplicar.

Por ultimo para que esta mejora se aplique hay que añadir lo siguiente a la linea del kernel en el grub.cfg (o menu.lst)

Cita:init=/sbin/e4rat-preload


Resultando algo similar a esto
menuentry "Ubuntu, with Linux 2.6.35-30-generic" --class ubuntu --class gnu-linux --class gnu --
Cita:class os {
recordfail
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos2)'
search --no-floppy --fs-uuid --set=root 28fff97a-ca59-4660-92eb-9d7d0dc617bf
linux /vmlinuz-2.6.35-30-generic root=UUID=db9568fb-579e-4a0c-8d04-5b2bd8260456 ro quiet splash nomodeset video=uvesafb:mode_option=1024x768-24,mtrr=3,scroll=ywrap init=/sbin/e4rat-preload
initrd /initrd.img-2.6.35-30-generic
}
No es un proceso dificil de realizar y ademas se obtiene una buena mejora en la carga de nuestro GNU/Linux
Web: post-share.com
hosting: http://skylium.com
Facebook: caalvara1
Twitter: caalvara1
WWW


Posibles temas similares...
Tema Autor Respuestas Vistas Último mensaje
  ¿como cerrar el acceso para un sistema linux? yuma2009 5 112 24-08-2017, 11:41 PM
Último mensaje: yuma2009
  Mapa Distros Linux (y Unix) jcifuentes 2 112 03-07-2017, 05:25 AM
Último mensaje: ArtuGar
  Instalar kali Linux en windows maquina Virtual VMware hos31 0 125 06-06-2017, 07:18 PM
Último mensaje: hos31
  Como instalar Kali linux VirtualBox hos31 0 101 06-06-2017, 03:05 PM
Último mensaje: hos31
  Usar Google Drive en linux Lerans 5 245 01-03-2017, 01:36 PM
Último mensaje: Lerans
  Cómo instalar Linux ArtuGar 1 99 01-03-2017, 04:10 AM
Último mensaje: garcon
  Iniciando en Linux, ¿Tenés dudas? juanbulla 1 273 04-02-2016, 05:43 PM
Último mensaje: manuelxd1010
  Distribuciones Linux para tu viejo ordenador jessmat 21 1,084 03-01-2016, 11:25 PM
Último mensaje: juanjj
Dedo arriba 10 Distribuciones Linux más famosas danieltumino 10 574 25-12-2015, 06:18 AM
Último mensaje: habacuc78
  Se libera Linux Mint 14 Nadia Jouser 23 2,211 09-12-2015, 04:34 AM
Último mensaje: xcarlox



Usuarios navegando en este tema: 1 invitado(s)