Utilisation de la mémoire des terminaux

Un article de Mille-Xterm.

Jump to: navigation, search

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

Example d'utilistion de la mémoire d'un terminal
Agrandir
Example d'utilistion de la mémoire d'un terminal
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.

Example d'un graphique créé à l'aide de xrestop
Agrandir
Example d'un graphique créé à l'aide de xrestop

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.

Test #1 - Ouverture et fermeture d'un document
Agrandir
Test #1 - Ouverture et fermeture d'un document
Test #2 - Affichage avec la configuration par défaut
Agrandir
Test #2 - Affichage avec la configuration par défaut
Test #3 - Affichage sans la transparence
Agrandir
Test #3 - Affichage sans la transparence
Test #4 - Affichage en basse résolution (72dpi)
Agrandir
Test #4 - Affichage en basse résolution (72dpi)


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

Autres langues