Tous les noyaux Linux fournis avec les distributions sont assez bouffis et contiennent plus de fonctions que ce qu'aucun d'entre nous utilisera jamais. Si vous n'avez pas recompilé votre propre noyau, il est fortement recommandé de le faire. Comment recompiler un noyau est en dehors du domaine de ce document mais d'excellents livres et guides sur Linux couvrent ce sujet en détails.
Si vous recompilez votre noyau, pensez à ne pas inclure plus de fonctions que ce dont vous avez besoin. Par exemple : combien d'entre vous ont inclus le support de PLIP dans leur noyau ? Combien de ceux qui l'ont inclus l'utilisent effectivement ? Les noyaux plus petits requièrent moins de temps pour se charger, utilisent moins de mémoire et de cycles CPU.
Autre possibilité : les modules. Je ne les utilise pas personnellement parce que je les trouve encombrants. Si vous les utilisez et les aimez alors ils peuvent aider à soulager "l'embonpoint du noyau".
Les consoles virtuelles sont un merveilleux moyen de libérer de la mémoire. La majorité des distributions de Linux lance environ 6 consoles par défaut. En moyenne l'exécution de 6 consoles nécessite à peu près 4Mo de mémoire. En retirer deux ou trois peut libérer quelques mégas de mémoire.
La plupart des utilisateurs peuvent démarrer en ne lançant que 3 ou 4 consoles. Combien vous choisirez d'en retirer est une question de préférences personnelles. Souvenez vous simplement que moins vous en exécuterez, plus vos applications auront de la mémoire pour tourner.
Le fichier qui indique combien de consoles virtuelles doivent
être lancées est /etc/inittab
. Pour
désactiver des consoles :
/etc/inittab
dans un éditeur de
texte.c1:12345:respawn:/sbin/getty tty1 38400 linux
Commencez par le nombre le plus élevé (ici c6) et
commentez la ligne en insérant un '#
' à
la première colonne. Répétez cette
étape autant de fois que nécessaire. Souvenez vous
que chaque ligne que vous mettez en commentaire est une console
virtuelle de moins.Beaucoup de distributions de Linux lancent de nombreux
démons dont la majorité d'entre nous n'aura jamais
l'usage. La plupart de ces démons se charge par des scripts.
La localisation de ces scripts, ainsi que leur nom dépendent
de votre distribution de Linux. Les scripts de démarrage de
la Slackware sont regroupés dans /etc/rc.d/rc.*
.
Avant de poursuivre, une connaissance de la programmation de shell-scripts Unix serait un avantage certain. Si toutefois vous n'avez aucune expérience dans l'écriture de scripts pour Unix, ce qui suit est probablement la plus courte introduction à la programmation de scripts jamais écrite.
Prenez le script suivant :
#!/bin/sh echo "salut tout le monde" #echo "adieu monde cruel"
Ce script va afficher la chaîne "salut tout le
monde"
. Les shell scripts doivent contenir la ligne
"#!/bin/sh"
en toute première ligne.
Après cela chaque ligne sera exécutée comme si
vous l'aviez tapée au clavier (considérez les scripts
comme rien d'autre que des macros du clavier
améliorées).
Les lignes qui commencent par un '#
' sont dites
commentées car elles ne sont pas exécutées par
l'interpréteur de commande. Beaucoup de scripts de
démarrage, quand ils chargent des démons, ressemblent
à :
if conditionquelconque do quelquechose fi
Ce que vous voulez faire, c'est mettre en commentaire toutes les
lignes allant de la marque if
à la marque
fi
.
Vouloir localiser où un démon est chargé
c'est rechercher le nom du démon dans les scripts de
démarrage. Si je voulais trouver où
inetd
est chargé dans la Slackware je
ferais :
cd /etc/rc.d grep -n inetd rc.*
inetd
permet de faire des choses telles que telnet,
ftp et envoyer des requêtes de type talk
à votre machine. Si vous n'utilisez pas votre système
en tant que serveur et que vous n'avez pas besoin d'accéder
à l'un de ces services à distance vous pouvez
supprimer inetd
.
lpd
est utilisé pour imprimer des fichiers
sur votre imprimante en employant la commande lpr
. Si
vous n'imprimez jamais à partir de votre station Linux vous
pouvez retirer lpd
. Si toutefois vous possédez
une imprimante HP Deskjet et aimeriez imprimer je recommande
fortement l'ensemble dj-printcap
disponible sur le
site
ftp://sunsite.unc.edu/pub/Linux/system/Printing/dj-printcap.tar.gz
Ces deux démons sont utilisés pour lancer un serveur NFS. Si vous n'utilisez jamais votre système Linux comme serveur NFS vous pouvez les retirer en toute sécurité.
Le démon portmap
permet de gérer les
services RPC (NdT : Remote Procedure Call = Exécution
de fonctions sur une autre machine). Si vous ne lancez pas de
serveur NFS ou tout autre programme RPC, vous pouvez enlever
portmap
.
sendmail
est un autre démon
nécessitant pas mal de mémoire. Si vous n'utilisez
jamais votre station Linux pour relayer l'envoi de courrier
électronique et que vous ne recevez jamais de courrier vous
pouvez probablement le retirer. Si vous envoyez du courrier de
votre station Linux, la plupart des logiciels clients peuvent
être configurés pour poster le courrier à
partir d'un autre serveur.
Il peut y avoir d'autres démons lancés par votre
système dont vous n'avez pas besoin. Retirez ce que vous
jugez inutile. Deux démons doivent impérativement
être lancés : syslogd
et
klogd
.
Ce qui précède illustre le chemin que j'ai suivi pour économiser la mémoire sur ma station Linux. J'espère vous avoir fourni quelques clés pour vous permettre de conserver toute la mémoire de votre station Linux.
Bonne chance et bon bidouillage !
Todd Burgess