Battery Powered Linux Mini-HOWTO

Hanno Mueller, hanno@lava.de http://www.lava.de/hanno/ v , 21 décembre 1997

Version française par Philippe Gaucher, gaucher@easynet.fr. Ce document explique comment réduire la consommation électrique d’un ordinateur fonctionnant sous Linux grâce à un bon paramétrage de sa configuration. Il sera utile à toute personne qui utilise Linux sur un ordinateur portable. Il contient aussi quelques informations sur la façon d’entretenir une batterie. Si vous utilisez Linux sur un ordinateur de bureau, vous n’avez probablement pas besoin de lire ce document.

1 Introduction

"À partir de 6 ans, batteries incluses."

1.1 Avant que vous posiez la question

Ce document n’explique pas comment installer Linux sur un portable mais comment y optimiser l’utilisation d’un Linux déjà configuré. Veuillez vous reporter s’il vous plaît à l’Installation-HOWTO ou bien au mode d’emploi de votre distribution pour de l’aide concernant l’installation de Linux.

Ce document n’explique pas comment utiliser une alimentation pour parer à toute coupure de courant ni comment utiliser le daemon powerd (même si un UPS est une grosse batterie). Lire le UPS-HOWTO pour des détails sur ce sujet.

1.2 De quoi parle ce document

De plus en plus de gens possèdent des ordinateurs portables de nos jours, et de plus en plus de gens y installent Linux.

L’installation et l’utilisation de Linux sur un portable ne présentent en général aucun problème, donc lancezvous et faites l’essai. Contrairement à d’autres systèmes d’exploitation, Linux continue à supporter et fonctionne correctement même sur du très vieux matériel. Vous pouvez donc donner à votre vieux portable une nouvelle jeunesse en lui installant Linux.

Si vous avez besoin d’aide pour l’installation de Linux sur un portable ou bien si vous avez des questions à propos du matériel composant les portables, vous pouvez jeter un oeil à l’excellente page web "Linux Laptop webpage" à http://www.cs.utexas.edu/users/kharker/linux-laptop/ où vous trouverez plein d’informations utiles et d’aides détaillées. Cette page décrit la configuration matérielle pour des modèles spécifiques de portables et de chipsets.

Ce HOWTO se concentrera sur le problème commun à toutes les utilisations de portables : la consommation électrique.

Pour le moment, je n’ai pas encore trouvé de distribution Linux qui s’installe avec une configuration optimisée pour les portables. Puisque je n’ai pu trouver ce type d’informations nulle part ailleurs, j’ai commencé à collecter quelques exemples simples mais utiles d’astuces qui aident à préserver la batterie et qui ainsi augmentent le temps d’utilisation du système quand il fonctionne sur batterie.

(Aparté) Un lecteur s’est plaint que ces indications n’étaient pas très efficaces sur son portable. Alors est-ce que les conseils donnés ici marchent vraiment? Oui, mais n’espérez pas de miracles. J’ai été quant à moi capable d’augmenter le temps d’utilisation de la batterie de mon portable de 90 minutes à plus de 120 minutes.

1.3 Plan de route

Si vous êtes un pro des portables, vous pouvez probablement sauter la section "Informations générales" et dans ce cas, vous trouverez ce que vous cherchez vraiment à la section "Changement des paramètres généraux du système". Si vous êtes un distributeur de Linux, lisez s’il vous plaît "Un message aux distributeurs Linux".

1.4 Commentaires

Tout commentaire est le bienvenu. Envoyez-les s’il vous plaît à hanno@lava.de. Est-ce-que cela marche pour votre système? Avez-vous trouvé de nouvelles astuces? Y a-t-il des liens ou des adresses incorrects dans ce texte?

J’en suis désolé, mais je ne pourrai pas vous aider pour des questions spécifiques à un modèle de portable. Je ne prétends pas être un gourou de ce type de machine. Il se trouve juste que j’en possède un et je cherche simplement à partager les informations que j’ai réunies. S’il vous plaît, vérifiez d’abord la page "Linux Laptop webpage", quelqu’un d’autre a probablement déjà écrit une page consacrée à votre modèle. Posez aussi des questions au support technique de votre fabriquant. Ou allez dans le forum de discussions comp.sys.laptops et posez-y votre question.

1.5 Dénégation

Toutes les méthodes décrites ici ont été testées par moi et marchent correctement sur mon portable, sauf mention explicite du contraire. Cependant je ne peux pas garantir que n’importe laquelle de ces méthodes ne pourra pas planter ou sérieurement endommager votre système. La vie est dangereuse, donc faites des copies de sauvegarde avant de jouer avec la configuration de votre Linux. Si les choses se passent mal, je ne prends aucune responsabilité quant à la perte de vos données. En d’autres termes : n’engagez pas de poursuites pénales contre moi. Merci.

1.6 Copyright

Ce document doit être distribué dans les termes standards du HOWTO-copyright, que vous pouvez trouver à http://sunsite.unc.edu/mdw/linux.html.

2 Informations générales

Cette section expose des généralités techniques sur les batteries de portables et quelques principes généraux pour économiser de la puissance électrique. Ces informations ne sont pas spécifiques à Linux et si vous avez déjà de l’expérience avec les portables, il se peut que vous les connaissiez déjà toutes.

2.1 Soyez attentif à votre batterie

(S’il vous plaît, lisez la première partie de la section "Remerciements")

Il y a actuellement trois types de batteries couramment utilisées par les ordinateurs portables.

– Les batteries NiCd ont été le standard technologique pendant des années mais aujourd’hui elles sont dépassées et les plus récents portables ne les utilisent plus. Elles sont lourdes et ont naturellement le problème de l’"effet mémoire". Quand on recharge une batterie NiCd qui n’a pas été complètement déchargée, elle se "souvient" de l’ancien niveau de charge et continue de s’en souvenir la prochaine fois que vous l’utilisez.

L’effet mémoire est causé par la cristallisation de la substance chimique composant la batterie. Il peut réduire de façon permanente la durée d’utilisation de votre batterie, et même la rendre inutilisable. Pour éviter cela, vous devriez décharger complètement votre batterie au moins une fois toutes les deux à trois semaines.

Une remarque sur l’effet mémoire : James Youngman connait une méthode plutôt radicale pour -hum- "réparer" une batterie NiCd : "Si votre batterie NiCd souffre de l’effet mémoire, retirez-la de votre ordinateur, tenez-là à peu près à 30 cm au dessus d’un bureau ou du sol, et lachez-là (assurez vous bien qu’elle retombe à plat)." Selon lui, ça doit casser les cristaux qui se sont formés dans la batterie et qui sont la cause de l’effet mémoire au cas où votre batterie en serait affectée. "Je ne sais pas si cela marche pour les batteries d’un autre type que les NiCd".

Le Cadmium est un poison extrèmement dangereux mais si vous renvoyez votre batterie à votre revendeur, le matériel peut presque complètement être recyclé.

Juste au cas où vous seriez intéressé, voici quelques données concernant le NiCd :

       Voltage : 1,2 V
       Energie / masse : 40 Wh/kg
       Energie / volume : 100 Wh/l
       Energie max. : 20 Wh
       Temp. de charge : 10 to 35 C (50 to 95 F)
       Temp. de fonctionnement : -20 to 50 C (-5 to 120 F)
       Temp. de stockage : 0 to 45 C (30 to 115 F)

– Les batteries NiMh sont le standard actuel pour la plupart des portables récents. Elles peuvent être fabriquées plus petites et sont moins affectées par l’effet mémoire que les batteries NiCd.

Cependant, elles présentent quelques problèmes à très haute ou très basse température ambiante. Et même si elles utilisent des substances moins dangereuses, elles ne peuvent pas être encore complètement recyclées (mais cela changera probablement dans le futur). Voici quelques données concernant le NiMh :

       Voltage : 1,2 V
       Energie / masse : 55 Wh/kg
       Energie / volume : 160 Wh/l
       Energie max. : 35 Wh
       Temp. de charge : 10 to 35 C (50 to 95 F)
       Temp. de fonctionnement : 0 to 45 C (30 to 115 F)
       Temp. de stockage : 0 to 30 C (30 to 85 F)

– Les nouvelles batteries à haute performance utilisent la technologie LiIon. En théorie, il n’y a pas du tout d’effet mémoire avec ces batteries. Même si à l’occasion, elles peuvent avoir des problèmes similaires. Leur composition chimique n’est pas dangereuse pour l’environnement, mais elles doivent être également rendues pour pouvoir être recyclées. Voici quelques données sur le LiIon :

       Voltage : 3,6 V
       Energie / masse : 100 Wh/kg
       Energie / volume : 230 Wh/l
       Energie max. : 60 Wh
       Temp. de charge : 0 to 45 C (30 to 115 F)
       Temp. de fonctionnement : -20 to 60 C (-5 to 140 F)
       Temp. de stockage : -20 to 60 C (-5 to 140 F)

Même si les batteries se ressemblent extérieurement, vous ne pouvez pas simplement passer d’une technologie de batterie à une autre. Le processus de rechargement est différent selon le type de batterie utilisée.

Certains fabriquants intègrent le circuit de rechargement à l’intérieur de l’adaptateur externe d’alimentation du portable. Dans ce cas, vous pouvez passer d’une technologie de batterie à une autre simplement en achetant un nouvel adaptateur d’alimentation. Une bonne indication que vous êtes dans cette situation est quand l’adaptateur d’alimentation externe utilise un connecteur propriétaire avec beaucoup de contacts.

D’autres fabriquants mettent l’unité de rechargement à l’intérieur du portable et dans ce cas, l’utilisateur ne peut pas de façon simple la remplacer par une technologie plus récente. Si votre adaptateur de courant alternatif n’utilise pour se connecter à l’ordinateur que deux contacts (justement comme le mien), l’unité de recharge est probablement à l’intérieur du portable.

En cas de doute, vérifiez auprès de votre fabriquant si votre portable supporte ou pas une batterie plus moderne.

Une batterie qui n’est pas utilisée pendant une longue période se déchargera petit à petit. Et même avec les meilleurs soins, une batterie a besoin d’être remplacée après 500 à 1000 recharges. Il n’est quand même pas recommandé d’utiliser un portable sans batterie avec uniquement l’adaptateur externe branché car la batterie sert souvent de protection contre les pics de voltage de votre prise de courant.

Les fabriquants changent la forme de leurs batteries à peu près tous les mois. Vous pouvez donc avoir des problèmes pour trouver une nouvelle batterie pour votre portable d’ici quelques années. Achetez une batterie de réserve maintenant avant qu’il y ait rupture de stock.

2.2 Économiser l’énergie : les trucs évidents

Il y a des choses évidentes à faire pour réduire la consommation d’énergie de votre ordinateur portable. Enfin ceci dit, peut-être pas aussi évidentes, vu que peu de gens suivent ces règles...

– Diminuez ou éteignez le rétroéclairage de votre écran quand vous n’utilisez pas votre portable. Signalons que les écrans TFT à matrice active consomment plus d’énergie que les écrans DSTN dual scan (et vous savez donc maintenant pourquoi vous avez acheté un portable bon marché et vous en avez une excuse toute trouvée...).

David Bateman m’a dit que l’utilisation d’un moniteur externe CRT (à tube) pendant qu’on est sur batterie tout en éteignant l’écran du portable peut étendre le temps d’utilisation de la batterie d’environ 30% : "Encore que ce ne soit pas une information vraiment utile à connaitre, car si votre écran est branché, pourquoi pas votre portable également".

– De combien de puissance processeur avez vous réellement besoin? Je doute fort que vous allez faire beaucoup plus que du traitement de texte quand vous serez en voyage (au moins je ne compile pas de noyau Linux pendant ces périodes). Tant que vous êtes sur batterie, la réduction de la vitesse de l’horloge du processeur permet aussi de diminuer la consommation électrique. Assez peu de portables offrent la possibilité de sélectionner la vitesse de l’horloge du processeur entre une vitesse normale et une vitesse lente.

– Éteignez le ventilateur du processeur (si vous en avez un). Beaucoup de portables récents proposent une option dans le bios appelée "cooling control". Si la CPU de votre machine devient trop chaude, cette option vous permet de la refroifir à l’aide d’un petit ventilateur (paramétrage "performance"), ou de ralentir l’horloge de la CPU (paramétrage "silence"). Pour augmenter votre durée d’utilisation sur batterie, régler sur "silence".

– Évitez d’utiliser des périphériques externes (imprimante, écran CRT, lecteur zip, caméra portable, etc...) avec votre ordinateur sur batterie. Quand il est connecté à une imprimante à jet d’encre standard, le temps d’utilisation de la batterie de mon portable passe de 120 à 20 minutes.

– Évitez d’utiliser n’importe quel périphérique interne sauf nécessaire ; lecteur de disquette, disque dur, cd-rom. Surtout les accès au cd-rom qui diminuent de façon dramatique la durée d’utilisation de votre batterie.

– Les cartes PCMCIA peuvent également consommer beaucoup d’électricité, donc ne laissez pas votre modem ou votre adaptateur réseau branché quand ils sont inactifs. Mais il y a des différences entre les cartes PCMCIA de marques différentes, donc renseignez-vous sur les caractéristiques techniques d’un produit avant de l’acheter (par exemple certaines cartes ne peuvent jamais s’éteindre d’elles-même, même quand elles ne fonctionnent pas).

En fait, j’ai lu récemment que les cartes PCMCIA sont le plus gros problème des assistants numériques de type PalmPilot sous windows CE ; elles consomment tellement d’énergie que les petites batteries de ces machines doivent être remplacées dans la minute...

– Utilisez des programmes simples. Une application multimédia sophistiquée engendrera une charge plus lourde du système et plus d’activités disque dur / CD-Rom qu’un traitement de texte tout simple.

– Grant Taylor a quelques trucs pour ceux d’entre nous qui veulent mettre à niveau leur matériel : "Les versions plus récentes de certains composants amovibles consomment nettement moins. Par exemple un disque dur 1,6 Go 2,5 pouces Travelstar de IBM consomme 20% de moins que le disque dur Tohiba de 500 Mo fourni par défaut avec mon portable".

– Si vous êtes encore sur le point d’acheter un portable, n’achetez pas de portable avec un cache L2 si la durée d’utilisation de la batterie vous est importante. Un ordinateur avec un cache L2 est environ 10 à 20% plus rapide et il sera bien meilleur avec les applications multimédias et le calcul intensif, mais en revanche il consomme beaucoup plus d’énergie. Bjoern Kriews m’a dit qu’il a deux portables quasiment identiques et celui sans cache dure 4h30 tandis que celui avec cache dure 2h30.

Si vous avez déjà un cache L2 installé, le désactiver ne sera probablement pas d’une très grande utilité. Faites un essai et écrivez-moi pour me raconter votre expérience.

– Encore un autre truc pour ceux qui sont encore en train de réfléchir à l’achat d’un portable : n’en achetez pas un équipé de la dernière CPU rapide à la mode. Habituellement, les plus vieilles générations sont optimisées par les fabriquants après quelques temps et sans qu’ils en parlent. Les "nouvelles" versions de vieux types de CPU dégagent souvent moins de chaleur et consomment moins d’énergie que les premières versions des mêmes CPUs.

– On trouve aussi des portables "à la Frankenstein" qui utilisent des CPUs qui ne sont pas optimisées pour ce genre de système. Comme je l’ai écrit en mai 97, les plus récentes générations de portables à base de Pentium 200 tournent à peu près 20 minutes sur batterie et deviennent si chaud qu’ils brûlent la coque. Quand j’étais en train d’écrire la seconde révision en octobre 97, les portables à base de Pentium 233 pouvaient fonctionner deux heures voire encore plus longtemps sans adaptateur. Pensez-y.

Bon, vous voyez l’idée. La plupart de ces trucs sont des restrictions qui vous empêcheront probablement de faire un travail sérieux avec votre système Linux. (Le meilleur moyen d’économiser de l’énergie est ... de ne rien faire du tout. Cela augmente la durée d’utilisation de votre batterie de presque 100%).

Donc, nous allons maintenant passer à d’autres mesures bien plus utiles, et qui économiseront de l’énergie sans vous déranger dans votre travail.

3 Gestion avancée de l’énergie (APM)

Les systèmes portables, et même pas mal d’ordinateurs de bureau, sont en général équipés d’un support APM, ce qui signifie "gestion avancée de l’énergie" (APM = Advanced Power Management en anglais). Cette section décrit comment activer le support APM dans votre noyau Linux. Les gens qui ont de l’expérience dans Linux vont trouver cette section plutôt ennuyeuse et pourront sauter à la suivante.

3.1 Ce que l’APM peut faire pour vous

Je ne le décrirai pas en détail ici. Reportez-vous à la page "Linux APM drivers page" à http://www.cs.utexas.edu/users/kharker/linuxlaptop/apm.html pour plus d’information. Tout ce que vous avez besoin de savoir est qu’avec l’aide de l’APM, la CPU peut dire au BIOS quand il ne se passe rien de réellement excitant afin que le BIOS soit capable de lui-même d’économiser de l’énergie (par exemple en réduisant la vitesse d’horloge de la CPU, en arrêtant le disque dur, en éteignant le rétroéclairage de l’écran, etc...)

L’APM gère aussi le mode "system suspend" ou "sleep" (système suspendu, ou mode suspension) et le mode "suspend to disk" ou "hibernation" (arrêt du disque) . Et une autre chose utile, bien que pas très importante, est qu’avec l’aide de l’APM, un shutdown -h ne fait pas qu’arrêter le système, mais l’éteint aussi.

En fait, la plupart des systèmes Linux mettent un shutdown -r dans leur /etc/inittab qui est relié à la séquence de touches control-alt-delete. Je préfère avoir un shutdown -h ici ainsi quand je presse la fameuse combinaison de touches, mon portable s’éteint tout simplement de lui-même.

Tous les fabriquants n’implémentent pas un BIOS APM correct. Par conséquent certains portables ont des problèmes avec les drivers APM de Linux (si votre machine a des problèmes avec APM, vraisemblablement la machine bloquera au démarrage, ou bien après être revenue d’un "system suspend"). Si vous n’êtes pas sûr, vérifiez dans la page "Linux laptop" (mentionnée au début de ce texte) pour votre modèle particulier.

3.2 Comment activer le support APM sous Linux

C’est facile : il suffit de recompiler le noyau. Vérifiez dans le Kernel-HOWTO si vous ne savez pas comment faire ça.

Quand le script de configuration atteint la section "character devices", le paramétrage par défaut pour un support complet de l’APM du BIOS dans le noyau 2.0.30 ou plus est :

       Advanced Power Management BIOS support: Yes
       Ignore USER SUSPEND: No
       Enable PM at boot time: Yes
       Make CPU Idle calls when idle: Yes
       Enable console blanking using APM: Yes
       Power off on shutdown: Yes

Lisez s’il vous plaît les textes d’aide du script de configuration. Ils expliquent dans le détail ce que fait chaque option, donc je ne le répèterai pas ici.

Si votre système n’est pas complètement compatible avec le standard du BIOS APM, certaines de ces options peuvent planter votre système. Testez toutes les fonctionnalités de l’APM avec les nouveaux noyaux pour bien vérifier que tout fonctionne comme ça le devrait.

1

Mise à jour : avec XFree 3.3, le problème existe encore sur mon portable. On m’a dit que le problème sera réglé dans une future version du noyau.

3.3 Support APM et drivers PCMCIA

Après avoir recompilé le noyau, n’oubliez pas de recompiler également les pilotes PCMCIA.

Les pilotes PCMCIA précompilés fournis avec la plupart des distributions Linux ont le support APM désactivé pour que le BIOS ne puisse pas donner l’ordre à votre carte PCMCIA de s’éteindre.

Vous devez aussi recompiler le noyau si vous installez une nouvelle version du noyau et si votre précédent noyau avait été compilé avec l’option "informations sur la version dans les modules" activé (cette option se trouve dans la section "loadable module support" de la configuration du noyau).

Lisez le PCMCIA-HOWTO pour des instructions détaillées sur la façon de compiler les pilotes ou bien allez à la page "Linux PCMCIA drivers" à http://hyper.stanford.edu/HyperNews/get/pcmcia/home.html.

3.4 Le paquetage apmd

Maintenant que vous avez le support APM installé, procurez-vous le paquetage apmd, par exemple à la page "Linux PCMCIA drivers" mentionnée ci-dessus. Il n’est pas vraiment nécessaire mais c’est quand même une collection très intéressante de programmes. Le démon apmd enregistre le comportement de votre batterie et il vous enverra un avertissement s’il y a une baisse de puissance. La commande apm suspendra votre système avec une commande shell et xapm montre l’état actuel de votre batterie.

NB : si vous rencontrez des problèmes avec votre carte PCMCIA quand vous revenez d’un mode "suspend", vous pouvez tester un package apmd différent à http://www.cut.de/bkr/linux/apmd/apmd.html. Il supprime le module contenant le pilote PCMCIA avant de passer en mode "suspend" et le recharge au retour.

Grant Taylor a joué un peu avec le paquetage apmd et en a tiré quelques trucs utiles. Il a trouvé que le disque dur de son portable oublie sa période d’arrêt (avec hdparm -S) quand il revient du mode "suspend" : "J’ai modifié apmd afin de réinitialiser ce paramétrage à chaque retour du mode "suspend". Cela peut être spécifique au système ; mais c’est une chose importante à faire..."

Note : sur mon propre portable, le bios s’occupe de la période d’arrêt du disque dur et réinitialise les paramétrages correctement à chaque retour du mode "suspend". Donc je n’ai pas pu tester si ce petit problème était spécifique à un système. Si cela vous arrive aussi, envoyez-moi un message.

1. Une note concernant l’extinction de la console (console blanking) : David Bateman m’a dit que vous ne devriez pas l’activer parce qu’elle cause quelques problèmes avec les version actuelles de XFree 3.2 : "les symptômes sont un écran éteint quand XFree démarre, et cela peut être corrigé habituellement juste en pressant une touche. C’est un petit problème, un peu désagréable. La prochaine version de XFree aura un bon support DPMS pour un grand nombre de chipsets de portables, et elle devrait contenir du code pour éteindre l’écran LCD. Vérifier dans la page de manuel de xset dans XFree 3.2A." David a également remarqué que la durée d’utilisation du rétroéclairage de votre écran est fonction du nombre de fois qu’il passe de allumé à éteint : "Donc c’est un compromis entre la durée de vie de la batterie et la durée de vie de l’éclairage".

Grant a également un truc sympa pour l’extinction de la console avec le paquetage XFree86. Et vous le trouverez dans le fichier d’aide du paquetage apmd.

3.5 Et si mon portable ne supporte pas l’APM?

Si le bios de votre ordinateur ne propose pas de paramétrages pour les économies d’énergie (même les plus vieux sans APM devraient au moins permettre des réglages concernant le disque dur), vous pouvez utiliser hdparm -S pour régler la période d’arrêt de votre disque dur. Cela vous aidera déjà beaucoup car les disques durs en activité consomment énormément d’énergie. Votre système devrait avoir hdparm installé, donc veuillez lire la page de manuel de hdparm pour la syntaxe de la commande.

4 Changement des paramètres généraux du système

Après avoir installé Linux et l’avoir fait tourner sur mon portable, je me suis aperçu qu’il accédait sans arrêt au disque dur, même quand il n’y avait pas d’utilisateur logué sur le système. Le disque dur ne pouvait pas rentrer dans son mode d’économie d’énergie. Comme la réduction de l’activité du disque dur peut augmenter de façon importante la durée d’utilisation de la batterie, j’ai collecté les idées générales qui suivent.

Je les ai toutes testées sur une RedHat 4.1. Donc la localisation de certains fichiers de configuration peut être différente sur votre distribution (si c’est le cas, s’il vous plaît faites-le moi savoir).

4.1 Le démon crond et atrun

Vérifiez dans votre /etc/crontab s’il démarre un processus toutes les minutes. Vous trouverez souvent atrun là.

Avec la commande at, vous pouvez mémoriser des commandes qui sont à exécuter ultérieurement. Certains systèmes Linux utilisent un démon atd spécialement consacré à cela ; d’autres (comme la RedHat) laissent le démon crond exécuter atrun une fois par minute.

Tout cela n’est pas réellement indispensable sur la plupart des systèmes puisque les commandes at ont rarement besoin d’être invoquées à une heure précise. Donc si vous trouvez une ligne comme celle qui suit dans votre /etc/crontab :

       # Run any at jobs every minute
       * * * * * root [ -x /usr/sbin/atrun ] && /usr/sbin/atrun

vous pouvez sans risque la changer en :

       # Run any at jobs every hour
       00 * * * * root [ -x /usr/sbin/atrun ] && /usr/sbin/atrun

Lire man 5 crontab pour les détails. Certaines personnes peuvent même travailler correctement sans le démon crond. Donc si vous savez ce que vous faites, vous pouvez éventuellement envisager de le désactiver complètement.

4.2 Le démon update / bdflush

Linux jongle à chaque instant avec un grand nombre de tampons correspondant à des fichiers ouverts. Donc votre système doit être assuré que les changements à l’intérieur des fichiers sont sauvegardés sur le disque dur dès que possible. Sinon ces changements seront perdus après un crash système.

Le démon update / bdflush s’occupe de cela. (Il y a deux noms pour le même programme, donc vous pouvez utiliser n’importe lequel des deux noms pour démarrer le démon). Le paramétrage par défaut fera en sorte que le démon appelle flush toutes les 5 secondes et sync toutes les 30 secondes.

Sur mon disque Fujitsu, cela engendre des accès incessants. (Apparemment, ce disque dur vide son cache en ram même si rien n’a changé. Mais cela dépend de la marque du disque dur : d’autres personnes m’ont dit que leur disque dur entre effectivement en mode "économie d’énergie" sans même les modifications qui suivent.)

Puisque Linux ne plante pas vraiment souvent, j’ai remplacé les deux valeurs ci-desssus par 3600 secondes (= une heure). Cela ne pose absolument aucun problème et de cette façon, l’accès incessant au disque cesse. (Mais si maintenant mon système plante, il y aura plus de fichiers perdus, bien entendu.)

– RedHat 4.1 : dans /etc/inittab, changer l’appel à update en :

       ud::once:/sbin/update -s 3600 -f 3600

– Suze 4.4.1 : update est appelé dans /sbin/init.d/boot.

– Slackware : update est appelé dans /etc/rc.d/rc.S.

Lire la page de manuel de update pour davantage de détails.

4.3 Le démon syslogd

Le démon syslogd est responsable des différents fichiers de log du système Linux qui se trouvent dans le répertoire /var/log/. Par défaut, syslogd écrira dans le fichier de log à chaque fois qu’il recevra un message provenant du système.

Vous pouvez arrêter cela en faisant précéder le nom du fichier d’un tiret dans /etc/syslog.conf. Voici un exemple comme trouvé dans le syslog.conf de mon système :

       # Logge tout (sauf le mail) de niveau info ou plus.
       # Ne pas logger les messages d'authentication prives !
       *.info;mail.none;authpriv.none                  -/var/log/messages

Cela signifie encore que si le système plante, le message qui a reporté le problème peut ne pas avoir été enregistré sur le disque dur. Dilemme...

4.4 La commande init

Pendant la séquence de démarrage, les processus initiaux et les démons sont démarrés à l’aide de la commande init. Cette commande appelle sync avant chaque processus qu’elle crée.

Vous pouvez modifier cela en enlevant l’appel sync() dans le code source et en recompilant la commande.

Pour éviter des problèmes de tampons de fichiers perdus, vous devriez ajouter un appel à sync dans le script système /etc/rc.d/init.d/halt, juste avant que le script démonte les systèmes de fichier.

4.5 La partition de swap

La partition de swap de Linux est utilisée pour augmenter la mémoire vive grâce à une mémoire virtuelle. C’est encore une cause possible d’accès au disque dur. Si votre portable a déjà beaucoup de RAM ou bien si les applications que vous utilisez sont très rustiques (pensez à vi), vous pouvez envisager de la désactiver.

Bien entendu, cela dépend de ce que vous avez l’intention de faire. De 4 à 8 Mo, ce n’est pas suffisant et vous devez dans ce cas utiliser une partition de swap. De 8 à 16 Mo, des applications en console texte fonctionneront très bien et si vous pouvez éviter d’utiliser trop de fonctionnalités multitâches, vous pouvez sans risque désactiver le swap. L’environnement X Window nécessite beaucoup de RAM et vous ne devriez pas l’utiliser sans partition de swap à moins que vous ayez beaucoup plus que 16 Mo.

Aparté : mon portable avec ses 16 Mo et sa partition de swap désactivée peut exécuter une session emacs, quatre shells bash et compiler un noyau sans dépassement de mémoire. C’est suffisant pour moi.

       echo "Should the system use swap?"
       echo "  0: No."
       echo "  1: Yes."
       /bin/echo "Your choice:  \  c"
       read SWAPCHOICE
       case "$SWAPCHOICE" in
           0)
               # Do nothing.
               echo "(Swap partitions disabled)"
               ;;
           *)
               # Start up swapping.
               echo "Activating swap partitions"
               swapon -a
       esac

De cette façon, vous pouvez utiliser la partition de swap avec l’adaptateur branché et la désactiver quand vous êtes sur batterie.

4.6 Le démon de serveur Web httpd Apache

J’utilise mon portable pour développer et tester des scripts CGI pour des sites Web, c’est pour cette raison que je fais tourner un serveur local sur mon portable. La configuration standard est un peu trop sophistiquée si la seule chose que vous voulez faire est juste de tester des scripts et vérifier des pages Web de temps en temps.

Dans httpd.conf, vous n’avez qu’à mettre les valeurs de MinSpareServers et de StartServers à 1. Ça sera suffisant pour un site local de test.

Si vous ne souhaitez plus que le démon httpd logue ses messages, vous devez le recompiler. Lisez la documentation pour plus de détails.

Grant Taylor a recompilé la partie log d’Apache et découvert que ça "ne l’empêche pas de déclencher le disque. J’ai donc utilisé une autre, et AMHA meilleure, solution : j’ai configuré Apache pour être lancé par inetd au lieu de se lancer tout seul". Lire man inetd pour les détails.

4.7 Le paquetage XFree

Configurer XFree pour les portables est tout un poème. Et une fois encore, je dois vous renvoyer à la page "Linux laptop" où vous pourrez trouver beaucoup d’aide sur ce sujet.

L’extinction de la console sous X ne fait que rendre l’écran noir mais ne coupe pas ce dernier. Comme mentionné dans la note de bas de page sur cette fonctionnalité, vous pouvez utiliser les options dpm de xset pour changer cela. Cependant, cette fonctionnalité dépend du chipset et du BIOS de votre portable.

Grant Taylor utilise le paramétrage suivant pour mettre en veille son portable avec l’aide de apmd et de l’économiseur d’écran :

       # Run xscreensaver with APM program
       xscreensaver -timeout 5  \
                    -xrm xscreensaver.programs:apm_standby  \
                    -xrm xscreensaver.colorPrograms:apm_standby &

où "apm_standby est un script perl suid qui permet seulement à certaines personnes de faire un apm -S".

4.8 L’éditeur emacs

Nous sommes bien d’accord qu’Emacs n’est pas un éditeur mais un art de vivre. Voici un truc de Florent Chabaud : "si vous utilisez emacs, peut-être avez-vous remarqué que l’éditeur fait des sauvegardes automatiques. C’est bien sûr utile et cela ne doit pas être désactivé mais les paramètres par défaut peuvent être adaptés à une utilisation sur un portable.

J’ai mis dans le fichier /usr/share/emacs/site-lisp/site-start.el les deux lignes suivantes :

       (setq auto-save-interval 2500)
       (setq auto-save-timeout nil)

Cela désactive l’auto-sauvegarde réglée sur le temps et fait que l’auto-sauvegarde ne se fait que toutes les 2500 touches. Bien entendu, si vous tapez un texte, ce dernier paramètre devrait être réduit, mais pour la programmation, c’est suffisant. Puisque chaque action est comptée (touche fléchée, backspace, delete, copier-coller, etc...), le nombre de 2500 actions est atteint rapidement."

4.9 Comment trouver d’autres façons d’optimiser

Si votre système Linux semble continuer à accéder au disque dur trop souvent, vous pouvez essayer de comprendre ce qui se passe à l’intérieur en utilisant une commande ps ax. Cela montrera tous les processus en cours et leur nom complet. Parfois, il révèle aussi l’argument en ligne de commande de chaque processus.

Puis lisez la page de manuel de chaque processus pour comprendre ce qu’il fait et comment changer son comportement. Avec cette méthode, vous trouverez très vraisemblablement le processus responsable. strace peut également se révéler utile.

S’il vous plaît envoyez moi un email si vous découvrez quelque chose de nouveau.

5 Annexe

5.1 Un message aux distributeurs de Linux

S’il se trouve que vous êtes un distributeur Linux, merci de lire ceci. Les portables deviennent de plus en plus populaires mais la plupart des distributions Linux ne sont pas encore vraiment préparées pour eux. S’il vous plaît, faites en sorte que ce document devienne obsolète et changez cela sur votre distribution.

– Le programme d’installation devrait inclure une configuration optimisée pour les portables. L’installation minimale n’est souvent pas assez réduite. Il y a quantité de choses dont un utilisateur de portable n’a pas besoin en voyage. Juste quelques exemples. Il n’y a pas besoin de trois versions différentes de vi (par exemple dans la distribution Suse). La plupart des systèmes portables n’ont pas besoin de support imprimante (ils ne seront jamais reliés à une imprimante, car l’impression est fait en général avec l’ordinateur de bureau de la maison). Certains portables n’ont pas besoin de support réseau du tout.

– N’oubliez pas de décrire les problèmes d’installation spécifiques aux portables, par exemple comment installer votre distribution sans lecteur CD-Rom ou comment paramétrer le pilote de réseau PLIP.

– Ajoutez de meilleurs gestionnaires d’énergie et des supports PCMCIA à votre distribution. Ajoutez des noyaux précompilés et un ensemble alternatif de pilotes PCMCIA avec support APM pour que l’utilisateur puisse l’installer à la demande. Incluez un package apmd précompilé avec votre distribution.

– Ajouter un support pour pouvoir passer dynamiquement d’une configuration réseau à une autre. La plupart des portables Linux voyagent entre des endroits ayant des configurations réseau distinctes (par exemple le réseau de la maison, celui du bureau et le réseau de l’université) et doivent changer d’identité réseau fréquemment. Et faire de tels changements est très pénible avec la plupart des distributions.

Merci de m’écrire si votre distribution est optimisée pour les ordinateurs portables en me signalant le type de fonctionnalités que vous avez ajoutées pour cela. Les versions futures de ce HOWTO inclueront une section où vous pourrez signaler les fonctionnalités dédiées aux portables de votre distribution.

5.2 Remerciements

– Les informations concernant la technologie des batteries sont issues principalement de l’article "Stromkonserve" de Michael Reiter, publié dans "c’t Magazin fuer Computertechnik" (Heise Verlag Hannover, Germany), édition 10/96, page 204. Utilisé avec leur permission. Visitez leur site http://www.heise.de/.

– Les personnes suivantes ont contribué à ce document :

  Frithjof Anders <anders@goethe.ucdavis.edu>
  David Bateman <dbateman@ee.uts.edu.au>
  Florent Chabaud <chabaud@celar.fr>
  Markus Gutschke <gutschk@uni-muenster.de>
  Kenneth E. Harker <kharker@cs.utexas.edu>
  Bjoern Kriews <bkr@rrz.uni-hamburg.de>
  R. Manmatha <manmatha@bendigo.cs.umass.edu>

       Juergen Rink <jr@ct.heise.de>
       Grant Taylor <gtaylor@picante.com>
       James Youngman <JYoungman@vggas.com>

5.3 À propos de ce document

Ce texte mentionne le mot "batterie" 54 fois.

La version la plus récente de ce HOWTO et de tous les autres (qui pour la plupart sont plus utiles que celui-là) se trouvent sur le site principal de la documentation Linux http://sunsite.unc.edu/mdw/linux.html ou sur un de ses nombreux miroirs.

La plus grande partie de ce document a été écrite pendant mes voyages en train entre Hambourg et Hannovre (les nouveaux wagons ICE-2 ont même des prises de courant pour les portables !).

Et maintenant tous avec moi : "...on the road again..."