Utilisation de la mémoire des terminaux
Un article de Mille-Xterm.
Le processus principal d'un terminal est le serveur X. Toutes les applications sont exécutées sur les serveurs d'applications et les terminaux s'occupent de les afficher. Ainsi, les terminaux de devraient pas nécessiter beaucoup de mémoire car l'affichage graphique se fait par bitmap (champs de pixels). La quantité de mémoire uililisée est normalement stable. Par contre en pratique, cetaines applications abusent de la mémoire X server afin de mettre en cache le rendu graphique. Normalement, il s'agit d'une optimisation qui est favorable, mais pas avec les terminaux. Cette page a pour but de diagnostiquer le problème et de le résoudre.
Sommaire |
Outils pour surveiller l'utilisation de la mémoire
Avec le logiciel Ganglia, il est possible de surveiller la mémoire RAM utilisée sur un terminal spécifique. À partir de la version 1.2 de mille-xterm, il est possible d'installer un serveur ganglia et de définir un terminal comme client en ajoutant simplement l'attribut "ENABLE_GMOND" dans le Configurateur.Le graphique suivant est un exemple typique d'un problème lié à l'utilisation de la mémoire. Dans ce cas, plusieurs documents ont été ouverts avec Office.org 2.0.2. L'utilistation de la mémoire a grossi d'environ 15 Mo. Lorsque nous essayons d'imprimer un document avec Writer avec la transparence (5 pages avec en moyenne 5 images), la mémoire atteind un sommet. Afin de continuer à fonctionner, le kernel tue le processus du serveur X. Sur le graphique, nous voyons un sommet important qui charge lourdement le terminal.
Outil pour obtenir plus de précsion sur l'utilisation de la mémoire
Pour obtenir plus de présision, il existe un outil en Python mem.py qui peut être utilisé pour afficher graphiquement l'utilisation de la mémoire de X par application.
Installation
- Créer un jounal de xrestop. Vous pouvez utiliser cette commande :
xrestop -t 1 -b > mem.log - Démarrer l'application à tester, le journal est écrit à chaques secondes. Ainsi, il faut prendre le temps sinon il sera difficile de noter les changements de mémoires.
- Lorsque le test est terminé, vous pouvez obternir un graphique à l'aide de cette commande :
mem.py mem.log
À droite, il y a un exemple d'un graphique xrestop de test exécuté avec OpenOffice.
Exemple de la gestion de la mémoire avec OpenOffice
L'expérimentation de l'utilisation de la mémoire avec OpenOffice 2.0.2 montre que certains paramètres aident à réduire la quantité de mémoire RAM utilisée lors de l'affichage. Lorsque l'affichage se fait avec de la transpacence, il y a une augementation de la mémoire utilisée. Deux catégories de configurations qui peuvent aider : la configuration de la transparence et la résolution graphique.
Pour déterminer l'impact de ces configuraitons, un test a été fait avec un fichier contenant 5 pages où de la transparence a été utilisée.
- Test #1 - Ouverture et fermeture d'un document.
Ce test prouve que l'ouverture d'un document ne consomme pas beaucoup de mémoire vive (368 kb). - Test #2 - Affichage avec la configuration par défaut.
Ce test prouve que la configuration par défaut consomme beaucoup de mémoire vive (19642 kb). - Test #3 - Affichage sans la transparence.
Ce test pouve qu'en désactivant la transparence, la quantité de mémoire est 83 % moins imporante (3154 kb). - Test #4 - Affichage en basse résolution (72dpi).
Ce test prouve qu'en basse résolution, avec la transparence activée, nécessite encore plus de mémoire que la configuration par défaut (19726 kb).
La désactivation de la tranparence remplace cette couleur par un blanc opaque. En conclusion, le meilleur compromis est de désactiver la transparence pour les terminaux.
Version anglaise plus complète
La version anglaise (voir le lien sur le côté) contient plus d'informations sur les fureteurs Firefox, Mozilla, Konqueror et Opera, ainsi qu'une note sur le visualiseur de fichiers PDF: Kpdf

