Page suivante Page précédente Table des matières

15. Appendix B - Faire avec des ressources limitées ou optimiser le système.

15.1 HOWTOS concernées

  1. LBX-HOWTO
  2. Small-Memory-HOWTO

15.2 Introduction

Comme mentionné dans l'introduction, les portables disposent des fois de moins de mémoire, si on les compare avec les machines de bureau. Pour faire avec un espace disque limité, peu de mémoire, une cadence processeur inférieure et les batteries ; j'ai écrit ce chapitre.

15.3 Faible espace disque.

Introduction

Il existe différentes techniques pour gagner plus d'espace disque telle le partage d'espace, la libération d'espace inutilisé ou redondant, l'optimisation et la compression du système de fichiers. Note : Certaines de ces techniques utilisent la mémoire au lieu de l'espace disque. Comme vous le verrez, il y a plein de petites étapes nécessaires pour pouvoir libérer de l'espace.

Techniques

  1. Stripping : Bien qu'aujourd'hui de nombreuses distributions sont fournies avec des binaires strippés il est utile de le vérifier. Pour plus de détails lisez man strip. Pour trouver tous les fichiers non strippés, vous pouvez utiliser la commande file ou plus pratique, l'utilitaire findstrip. Attention ne strippez pas les librairies, parfois les mauvais symboles sont enlevés en raison d'une mauvaise technique de programmation.
  2. Perforation: zum(1) lit une liste de fichiers à partir de l'entrée standard et essaie de perforer ces fichiers. La perforation signifie qu'une série d'octets nuls sont remplacés par lseek, donnant ainsi une possibilité au système de fichier de ne pas allouer d'espace disque réel pour ces octets. Exemple : find . -type f | xargs zum
  3. Enlever les fichiers inutiles et les doublons : chercher les fichiers core dans le système, les fichiers de backup d'emacs <#FILE#> de vi <FILE>.swp, de RPM <FILE>.rpmorig et de patch. Pour trouver les doublons vous pouvez essayer findupp. Choisisez une convention de nommage de vos fichiers de secours temporaires et de tests, par exemple avec une signature à la fin.
  4. Nettoyez les fichiers temporaires : exemple : /tmp, il existe même un utilitaire tmpwatch.
  5. Raccourcissez vos fichiers de log : en général les fichiers dans /var/log.
  6. Enlevez les fichiers : Enlevez les fichiers qui ne sont pas "nécessaires" en toutes circonstances tels les pages de manuel, la documentation /usr/doc et les sources /usr/src.
  7. Librairies inutiles : vous pouvez utiliser le package binstat pour trouver les librairies inutilisées (Merci à Tom Ed White).
  8. Système de fichiers : Optez pour un système de fichiers qui économise l'espace disque tel rsfs. Optimisez votre système de fichiers, exemple tune2fs. Choisissez une taille de partition et une taille de bloc approprié.
  9. Diminuez la taille du kernel : Soit en utilisant uniquement les fonctionalités nécessaires du kernel et/ou en utilisant une image compressée du kernel. bzImage.
  10. Compression : Je n'ai pas encore vérifié mais pour autant que je le sache vous pouvez compresser votre système de fichiers avec gzip et le décompresser à la volée. Alternativement vous pouvez choisir de ne compresser que certains fichiers. Vous pouvez même éxécuter des fichiers compressés avec zexec.
  11. Système de fichiers compressés.

    - Pour le système de fichiers e2fs il existe une version compressée disponible e2compr, voyez http://debs.fuller.edu/e2compr/ .

    - DMSDOS qui permet à votre machine d'accéder à des disques Windows95 compressés (drivespace, doublestacker). si vous n'avez pas besoin de la compatibilité DOS/Windows95, cad. si vous désirez uniquement compresser des données Linux, ceci est réellement découragé par l'auteur du programme. Voyez http://fb9nt-ln.uni-duisburg.de/mitarbeiter/gockel/software/dmsdos/ .

  12. Partage de partition : Vous pouvez partager votre espace swap (lisez la Swap-Space-HOWTO) ou vos données entre différents systèmes d'exploitation (voyez mount). Pour monter des unités MS-DOS Windows95 compressées (doublespace, drivespace) vous pouvez utiliser dmsdos http://metalab.unc.edu/pub/Linux/system/filesystems/dosfs/.
  13. Libraries : Utilisez une autre (plus ancienne) librairie, par exemple libc5, cette librairie semmble être plus petite que libc6 aka glibc2 .
  14. Kernel : Si vos besoins sont remplis par une version plus ancienne du kernel vous pouvez économiser un peu d'espace.
  15. GUI : Evitez autant que possible les Interfaces Utilisateur Graphiques (GUI).
  16. Petites Distributions : Il existe des distributions qui tiennent sur une disquette 3"5 jusqu'à 10MB d'espace disque et qui tournent aussi avec peu de mémoire. Réferez vous à l'appendix A et ci dessous.
  17. Périphériques de stockage externes (Disques durs, Lecteurs ZIP, NFS, Samba) : comme de nombreux portables peuvent être limités dans leur évolutivité, utiliser le port parallèle est une option intéressante. De nombreux disques durs externes et lecteurs ZIP sont disponibles. En général on peut aussi les connecter via le port PCMCIA Une autre façon est d'utiliser les ressources d'une autre machine à travers NFS ou SAMBA etc.

15.4 Vitesse du disque dur.

Utilisez l'utilitaire hdparm pour augmenter la performance du disque dur. Bien que j'ai vu un disque de portable avec stripping, je ne vois pas de raison pour le faire, car à mon avis le stripping RAID0 demande au moins deux disques différents pour augmenter les performances.

15.5 Peu de mémoire.

HOWTOS concernées

  1. Small-Memory-mini-HOWTO par Todd Burgess <[email protected] > http://eddie.cis.uoguelph.ca/~tburgess
  2. Modules-mini-HOWTO
  3. Kerneld-mini-HOWTO

Techniques

Vérifiez l'utilisation de la mémoire avec free et top.

Mergemem Project . Beaucoup de programmes contiennent des espaces mémoires du même contenu qui restent indétectées par le système d'exploitation. Typiquement ces zones contiennent des données qui ont été générées au démarrage et qui sont restées inchangées pendant de longues périodes. Avec mergemem de telles zones sont détectées et partagées. Le partage est réalisé au niveau du système d'exploitation et est invisible au niveau utilisateur. mergemem est particulièrement utile si vous faites tourner de nombreuses instances d'interpréteurs et d'émulateurs (comme Java ou Prolog) qui gardent leur code dans des zones de données privées. Mais d'autres programmes peuvent aussi en bénéficier dans une moindre mesure.

Vous pouvez aussi réduire la taille du kernel au tant que possible en enlevant toute fonctionalité qui vous est inutile et en modularisant le kernel autant que possible.

Dans le même ordre d'idée, vous pouvez arrêter tout service ou daemon qui n'est pas nécessaire, par exemple : lpd, mountd, nfsd et fermer quelques consoles virtuelles . Référez vous à la Small-Memory-mini-HOWTO pour plus de détails.

Et, bien sûr utilisez swap space, dès que possible.

Si possible, utilisez les ressources d'une autre machine, par exemple avec X, VNC ou même telnet. Pour plus d'information sur Virtual Network Computing allez à : http://http://www.uk.research.att.com/vnc/ .

15.6 Processeurs à faible fréquence.

Vous pouvez désirer augmenter la fréquence d'horloge de votre processeur mais vous pouvez endommager le matériel et je n'ai aucune expérience dans ce domaine. Pour quelques exemples lisez Adorable Toshiba Libretto - Overclocking http://www.cerfnet.com/~adorable/libretto.html.

15.7 Techniques d'économie d'énergie.

  1. Si vous n'avez pas besoin de l'infrarouge, inhibez le au niveau du BIOS ou arretez le pilote IrDA. Il y a aussi quelques fonctions IrDA dans le kernel qui sont utiles pour économiser de l'énergie.
  2. Les PCMCIA services consomment beaucoup d'énergie, aussi arrétez les si vous n'en n'avez pas l'utilité.
  3. Je ne sais pas dans quelle proportion le rétroéclairage consomme de l'énergie. ATTENTION : pour autant que je sache ce périphérique supporte uniquement un nombre finit de cycles d'allumage. Aussi évitez de trop utiliser les économiseurs d'écran.
  4. Pour quelques exemples de construction de batteries avec une autonomie allant jusqu'a 8 heeures allez à Adorable Toshiba Libretto http://www.cerfnet.com/~adorable/libretto.html.
  5. Pour plus d'informations concernant l'APM lisez le chapitre APM ci dessus.
  6. A hacked rclock . Booker C. Bense a hacké le programme rclock pour inclure une simple jauge de batterie sur le cadran de l'horloge.
  7. xbatstat. Un indicateur de niveau de batterie pour Linux et X.
  8. hdparm hdparm est un utilitaire Linux pour disque IDE qui vous permet de définir des minuteries pour arréter la rotation du disque ainsi que d'autres paramètres. Il fonctionne aussi pour quelques fonctions SCSI..
  9. Mobile Update Daemon C'est un remplacement pour le daemon standard update, mobile-update minimise les rotations du disque et réduit l'utilisation du disque. Il flushe les tampons uniquement lorsqu'il y a une autre activité disque. Pour garantir la consistance du système de fichier il appelle sync manuellement. Autrement des fichiers pouraient être perdus en cas d'interuption de courant. mobile-update n'utilise pas l'APM. Aussi il fonctionne sur des systèmes plus anciens.
  10. Toshiba Linux Utilities C'est un ensemble d'utilitaires pour controller le vantilateur, superviser les mots de passe et les touches de fonctions des portables pentium de Toshiba. Il existe aussi un package KDE Klibreta.
  11. Sur la page de Kenneth E. Harker il y a une recommendation pour LCDproc LCDProc . "LCDproc est un petit programme qui va permettre à votre petite Linux box d'afficher en direct des informations système sur un petit écran LCD rétroéclairé de 20x4 lignes. Ce programme affiche, entre autres choses, l'état de la batterie eur les portables." J'ai essayé ce package et je me suis aperçu qu'il se connecte uniquement sur l'afficheur externe 20x4 de Matrix-Orbital Matrix-Orbital http://www.matrix-orbital.com/, qui est un afficheur LCD relié au port série. Je ne vois pour l'instant aucune utilité pour un portable.
  12. Diald: Dial Daemon . Le daemon Diald fournit à la demande la connectivité à l'Internet en utilisant les protocoles SLIP ou PPP. Diald peut appeler automatiquement un hôte distant ou arrêter les connections dial-up qui sont inactives.
  13. KDE http://www.kde.org fournit KAPM, Kbatmon et Kcmlaptop. Ecrit par Paul Campbell kcmlaptop est un ensemble de panneaux de contrôles KDE qui implémente les fonctions de support des portables, il inclut un indicateur dockable d'état de la batterie pour portables - en bref une petite icône dans la barre d'état de KDE qui montre combien d'autonomie sur batterie il vous reste. Il vous préviens lorsque l'énergie commence à diminuer et vous permet de configurer les options d'économie d'énergie. Des packages similaires peuvent être trouvés pour le projet GNOME http://www.gnome.org/. Consultez la software map des deux sites.
  14. Consultez s'il vous plait La Battery Powered Linux Mini-HOWTO de Hanno Mueller, [email protected] http://www.lava.de/~hanno/ pour plus d'informations.

15.8 Kernel

HOWTOS concernées

Beaucoup de fonctionalités du kernel sont en rapport avec les portables. Par exemple APM, IrDA, PCMCIA et quelques options pour des portables particuliers, par exxemple les ThinkPads d'IBM. Dans certaines distributions elles ne sont pas configurées. Et le kernel est en général plus grand que nécessaire. Aussi customiser le kernel semble être une bonne idée. Bien que cette tâche puisse sembler difficile au débutant c'est hautement recommandé. Mais, si vous avez installé avec succès un nouveau kernel, vous avez gagné votre badge de mérite d'administrateur système Linux niveau intermédiaire. - Dans la mesure où ce sujet est déjà traité dans d'autres documents, je ne le tariterait pas ici.

15.9 Petites applications et distributions

Pour l'instant une petite collection, mais je cherche plus d'information.

  1. BOA - HTTP server.
  2. Pygmy - HTTP server.
  3. MGR - un système fenêtré graphique qui utilise moinsde ressources que X.
  4. Low Bandwidth X:

    Alan Cox dans LINUX REDUX de février 1998 " .. il y en a deux qui gèrent les applications normales très bien. LBX (Low Bandwidth X) est l'application officielle du X Consortium (mainetenant OpenGroup www.opengroup.org). Dxpc http://ccwf.cc.utexas.edu/~zvonler/dxpc est l'alternative préférée par la plupart des gens. Ces systèmes se comportent comme des proxys pour les serveurs X11 et compressent les flux de données par plus de 50% pour les requètes normales, arrivant parfois à une réduction de 25 pourcents par rapport à la consommation initiale de bande passante. Avec dxpc, les applications X sont utilisables sur une ligne modem 28.8 ou à travers l' Internet."

  5. blackbox - window manager X11 204K.
  6. linux-lite - distribution basée sur un kernel 1.x.x pour des systèmes ne disposant que de 2MB de mémoire et 10MB d'espace disque. URL voir ci dessus.
  7. smallLinux - http://smalllinux.netpedia.net/. Une micro distribution de Linux et des utilitaires sur trois disquettes. Basée sur un kernel 1.2.11. Le Root disk est en format ext2 et a fdisk et mkfs.ext2 ainsi une installation sur disque dur est possible. Utile pour amorcer de vieilles machines avec moins de 4MB de RAM.
  8. cLIeNUX - client-use-oriented distribution de Linux.
  9. minix - ce n'est pas un Linux mais un Unix utile pour de tous petits systèmes, tels qu'un 286 avec 640k de RAM http://www.cs.vu.nl/~ast/minix.html. Il existe même un support X appelé mini-x par David I. Bell ftp://ftp.linux.org.uk/pub/linux/alan/ .
  10. screen - Un petit mais puissant gestionnaire de console. John M. Fisk <[email protected]> dans LINUX GAZETTE du premier juillet 1996 :"It's a GUI, GUI, GUI, GUI world! " -- ou c'est ce que la majoriyé des fabricants de systèmes d'exploitation voudraient vous faire croire. En vérité, bien que ce soit de plus en plus le cas, il y a des moments où l'interface ligne de commande (CLI) constitue toujours unntrès bon choix pour faire son travail. C'est rapide, généralement efficace, et c'est un bon choix sur des machines ayants des contraintes de processeur ou de mémoire. Et n'oubliez pas qu'il existe toujours un tas de chouettes choses qui peuvent être réalisées en console."
  11. ash - petit shell.
  12. tinyirc - un petit client IRC.

15.10 Mise à jour du matériel.

Vous pouvez aussi considérer la possibilité de mettre à jour le matériel, bien qu'il faille prendre certaines précautions, référez vous au chapitre sur l'ouverture d'un boîtier de portable ci dessus. Si vous avez besoin d'une revue des possibilités, vous pouvez aller à http://www.upgrade.de, cette page est aussi disponible en français et en anglais.


Page suivante Page précédente Table des matières