Des bottes plus rapides

Publié le par Peck

Cet article est maintenant sur http://linux-attitude.fr/post/Des-bottes-plus-rapides

Niveau
:
Résumé : bootchart

Vous connaissez sûrement à peu près votre processus de boot. 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.

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).

Publié dans dadmin

Pour être informé des derniers articles, inscrivez vous :

Commenter cet article

JeanJean 13/07/2007 23:38

Vous dites "changez le S99kdm en S40kdm" moi j'aime bien ce truc mais le sieur debian il va m'emmerder à la prochaine mise à jour si je fais cela... non ? Me trompe-je ?

Peck 14/07/2007 12:37

En pratique il ne devrait rien dire.Mais il est vrai que la bonne méthode debian pour faire cela est d'utiliser la commande update-rc.d