Niveau :
Résumé : bootchart
Vous savez sûrement comment fonctionne le processus de boot. Mais savez-vous exactement combien de temps prend chacune des étapes ? Je parie que non. Sachez qu'il existe tout ce qu'il faut pour le découvrir. Il vous faut le paquet bootchartd (ainsi que bootchart pour la suite).
Compilez, installez, apétez, c'est presque prêt. Il ne vous reste plus qu'une chose à faire, remplacer init par bootchartd. Pour cela modifiez la configuration de votre bootloader, grub ou lilo. Pour cela ajoutez l'option init=/sbin/bootchartd à votre noyau. N'oubliez pas de relancer lilo si c'est votre bootloader.
À votre prochain boot, bootchartd lancera l'init puis les temps de démarrage seront enregistrés automatiquement dans /var/log/bootchart.tgz
Vous avez rebooté, il est temps maintenant de lire ces données. Mettez-vous dans le répertoire où vous voulez enregistrer votre image et tapez simplement
$ bootchart
Et voila, un beau bootchart.png tout neuf est disponible. Ouvrez le avec votre visualisateur favori (attention, il est particulièrement grand).
D'abord sachons discerner les éléments qui ralentissent le démarrage. Il y en a deux catégories, ceux qui consomment des ressources et ceux qui empêchent l'exécution de la suite. Les premiers sont en couleur sur le graphe. Le seul moyen de les accélérer c'est de ne pas les lancer ;-) En gros on repère ce qui n'est plus vraiment utile et on vire.
Pour les éléments de la 2e catégorie, il peut y avoir une solution plus raisonnable. Un certain nombre de scripts d'init peut être lancé en arrière plan plutôt qu'en avant plan, ce qui leur supprime leur côté bloquant. Pour cela relisez simplement un article récent sur le lancement de script en arrière plan.
Et enfin, j'imagine que ce qui vous intéresse c'est le login graphique (kdm ou gdm). Vous pouvez alors simplement simplement avancer le chargement de *dm dans le processus d'init pour gagner un temps fou. Allez dans /etc/rcX.d (X étant déterminé avec la commande runlevel) puis changez le S99kdm en S40kdm par exemple.
Une dernière chose pour vraiment gagner du temps, il faut passer à un système de boot par dépendances (ou par évènements, c'est un peu la même chose). Pour cela regardez par exemple du coté d'upstart (installé chez ubuntu).
Comments