Bonjour à tous,
Voici la seconde partie du tutoriel « Améliorer le temps de démarrage d’une machine sous Linux ». Dans cette dernière, nous allons voir les différents outils permettant d’optimiser votre OS. Cependant je ne pourrai pas vous faire d’exemple particulier … en effet, l’optimisation dépend des logiciels, démons, distributions, pilotes personnalisés ou non, dépendances et bien d’autres particularités encore.
Déjà prenons un schéma de bootchart d’une Debian fraichement installée:
Bon comme vous pouvez le voir, beaucoup de processus sont lancés … alors maintenant imaginons que nous voulions faire de cet ordinateur un véritable serveur. Pour cela il vaut mieux économiser certaines ressources, comme la mémoire par exemple.
Voyons voir comment faire.
Sur ce graphique on peut constater que le serveur graphique (Xorg et GDM) est lancé et que qu’il consomme beaucoup de temps et de CPU pour se lancer (sans compter la mémoire) alors maintenant pourquoi garder une interface graphique pour un serveur ? au pire on pourra la lancer lorsqu’on en aura besoin.
Enlevons la de la procédure de démarrage. Comment allons-nous faire?
Et bien il s’agit (encore et toujours) de démons … ils suffit donc d’enlever les liens de démarrage dans le bon répertoire rc?.d ^^. Pour cela on va utiliser la commande suivante (en root):
update-rc.d -fnomDuScriptremove
Donc pour notre gdm cela donnerait :
update-rc.d -f gdm remove
Faites de même pour chaque démon que vous jugez inutile ^^ (renseignez-vous sur son utilité avant quand même …).
Bon ensuite il reste ce que l’on appelle des modules noyaux :
Qu’est-ce donc ?
Un module noyau est un bout de code servant à augmenter ou optimiser certaines fonctionnalités du noyau de base. En d’autres termes on peut les comparer à des drivers (ou pilotes) sous Windows.
Ces modules peuvent être ajoutés ou retirés « à chaud » sans redémarrer la machine (grand avantage des noyaux modulaires ^^).
Par défaut, une Debian charge un certain nombre de modules qui ne sont pas forcement nécessaires.
Voyons déjà comment lister les modules chargés en mémoire :
La commande :
lsmod
permet de savoir quel module est chargé en mémoire, combien de mémoire il utilise, et quel autre module se sert de ce module. En effet, il peut y avoir des dépendances entre modules (il faut donc faire attention à décharger les modules qui utilisent ce module …..)
Voici un exemple de rendu de la commande :
une autre commande utile pour obtenir des informations sur le module qui vous intéresse est :
modinfo NomDuModule
exemple sur le module gérant l’ipv6
Maintenant il est temps de savoir comment charger/décharger un module.
La commande (en root) :
modprobe -a NomDuModule
vous permettra de charger un module (-a pour append) en mémoire tandis que la commande (en root) :
modprobe -r NomDumodule
vous permettra de décharger un module de la mémoire (-r pour remove).
Ces commandes sont faites pour pouvoir charger/décharger un module manuellement, après le démarrage d’un ordinateur.
Pour charger automatiquement un module au démarrage vous pouvez ajouter dans le fichier (en root) /etc/modules le nom du module que vous voulez démarrer automatiquement.
Pour pouvoir empêcher le chargement de certains modules lors du démarrage de votre machine il vous faut ajouter la commande suivante :
blacklist NomDuModule
dans le fichier /etc/modprobe.d/blacklist
Ainsi le système ne chargera pas les modules que vous lui avez indiqués …
Bien donc à titre d’exemple pourquoi charger un module IPV6 en mémoire alors que votre modem/routeur ne prend en charge que l’IPV4 ? pourquoi ne pas le décharger alors ?
Pourquoi charger le module psmouse qui gère la souris de votre ordinateur alors vous venez de désactiver l’interface graphique de votre ordinateur ….
C’est autant de petites choses qui permette d’alléger le système, le rendant ainsi plus stable et plus rapide au démarrage.
Voila maintenant il vous reste à faire tout plein de modifications pour rendre votre Debian plus légère ^^.
(à noter au passage qu’il existe des Debian minimalistes vous évitant de nombreuses manipulations, celles-ci sont à titre d’exemple ^^)
Voici la même Debian mais après quelques modifications mineures :






Commentaires
Ecrire un commentaire Trackback