Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions

  




 

 

NOTE: CentOS Enterprise Linux is built from the Red Hat Enterprise Linux source code. Other than logo and name changes CentOS Enterprise Linux is compatible with the equivalent Red Hat version. This document applies equally to both Red Hat and CentOS Enterprise Linux.
Linuxtopia - CentOS Enterprise Linux Introduction a l'administration systeme - Informations sp�cifiques � Red Hat Enterprise Linux

2.5. Informations sp�cifiques � Red Hat Enterprise Linux

Red Hat Enterprise Linux offre une vari�t� d'outils de contr�le des ressources. Bien que la liste ci-apr�s n'englobe pas tous les outils disponibles, ceux �num�r�s se distinguent en raison de leur fonctionnalit� respective. Parmi ces outils figurent�:

  • free

  • top (et le Moniteur syst�me de GNOME, une version plus graphique de top)

  • vmstat

  • Sysstat, la suite d'outils de contr�le des ressources

  • OProfile, le profileur de tout le syst�me

Examinons chacun de ces outils de mani�re plus d�taill�e.

2.5.1. free

La commande free affiche l'utilisation de la m�moire du syst�me. Ci-dessous figure un exemple de cette sortie�:

             total       used       free     shared    buffers     cached
Mem:        255508     240268      15240          0       7592      86188
-/+ buffers/cache:     146488     109020
Swap:       530136      26268     503868

La rang�e Mem: correspond � l'utilisation de la m�moire physique alors que la rang�e Swap: repr�sente l'utilisation de l'espace swap du syst�me et que la rang�e -/+ buffers/cache: donne elle la quantit� de m�moire physique actuellement consacr�e aux tampons du syst�me.

�tant donn� que, par d�faut, free ne fournit qu'une seule fois des informations sur l'utilisation de la m�moire, cette commande n'est vraiment utile que pour un contr�le � tr�s court terme ou pour d�terminer s'il existe actuellement un probl�me au niveau de la m�moire. Bien que la commande free puisse, au moyen de l'option -s, afficher des informations chiffr�es sur l'utilisation de m�moire, ces derni�res d�filent si rapidement qu'il est assez difficile de remarquer tout changement dans l'utilisation de la m�moire.

TuyauAstuce
 

Une meilleure alternative � free -s consisterait � ex�cuter free � l'aide de la commande watch. Par exemple, afin d'obtenir l'affichage de l'utilisation de m�moire toutes les deux secondes (l'intervalle d'affichage par d�faut de watch), utilisez la commande suivante�:

watch free

La commande watch ex�cute free toutes les deux secondes, mettant ainsi l'�cran � jour en l;'effa�ant avant d'y afficher la nouvelle sortie. Ainsi, il est beaucoup plus facile de d�terminer la mani�re selon laquelle l'utilisation de la m�moire change au fil du temps dans la mesure o� watch cr�e un seul affichage mis � jour sans d�filement. Il est de plus possible de contr�ler l'intervalle entre les mises � jour en utilisant l'option -n et gr�ce � l'option -d, il est m�me possible de modifier l'affichage de mani�re � ce que toute diff�rence entre les mises � jour apparaisse en caract�res gras, comme le ferait la commande suivante�:

watch -n 1 -d free

Pour obtenir de plus amples informations sur le sujet, reportez-vous � la page de manuel de watch.

La commande watch tourne jusqu'� ce qu'elle soit interrompue par la combinaison de touches [Ctrl]-[C]. Il est bon de garder � l'esprit la commande watch, car elle peut �tre tr�s utile dans de nombreuses situations.

2.5.2. top

Alors que free affiche seulement des informations relatives � la m�moire, la commande top elle fournit des informations tr�s vari�es. Qu'il s'agisse de l'utilisation du CPU, des statistiques sur les processus ou de l'utilisation de la m�moire — top contr�le le tout. De plus, contrairement � la commande free, le comportement par d�faut de top fait qu'elle est ex�cut�e en permanence si bien qu'il n'y a pas lieu d'utiliser la commande watch. Ci-apr�s figure un example d'affichage fourni par cette commande�:

 14:06:32  up 4 days, 21:20,  4 users,  load average: 0.00, 0.00, 0.00
77 processes: 76 sleeping, 1 running, 0 zombie, 0 stopped
CPU states:  cpu    user    nice  system    irq  softirq  iowait    idle
           total   19.6%    0.0%    0.0%   0.0%     0.0%    0.0%  180.2%
           cpu00    0.0%    0.0%    0.0%   0.0%     0.0%    0.0%  100.0%
           cpu01   19.6%    0.0%    0.0%   0.0%     0.0%    0.0%   80.3%
Mem:  1028548k av,  716604k used,  311944k free,       0k shrd,  131056k buff
                    324996k actv,  108692k in_d,   13988k in_c
Swap: 1020116k av,    5276k used, 1014840k free                  382228k cached
                                                                                
  PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME CPU COMMAND
17578 root      15   0 13456  13M  9020 S    18.5  1.3  26:35   1 rhn-applet-gu
19154 root      20   0  1176 1176   892 R     0.9  0.1   0:00   1 top
    1 root      15   0   168  160   108 S     0.0  0.0   0:09   0 init
    2 root      RT   0     0    0     0 SW    0.0  0.0   0:00   0 migration/0
    3 root      RT   0     0    0     0 SW    0.0  0.0   0:00   1 migration/1
    4 root      15   0     0    0     0 SW    0.0  0.0   0:00   0 keventd
    5 root      34  19     0    0     0 SWN   0.0  0.0   0:00   0 ksoftirqd/0
    6 root      35  19     0    0     0 SWN   0.0  0.0   0:00   1 ksoftirqd/1
    9 root      15   0     0    0     0 SW    0.0  0.0   0:07   1 bdflush
    7 root      15   0     0    0     0 SW    0.0  0.0   1:19   0 kswapd
    8 root      15   0     0    0     0 SW    0.0  0.0   0:14   1 kscand
   10 root      15   0     0    0     0 SW    0.0  0.0   0:03   1 kupdated
   11 root      25   0     0    0     0 SW    0.0  0.0   0:00   0 mdrecoveryd

Comme vous pouvez le voir, l'affichage est divis� en deux sections. La partie sup�rieure contient des informations relatives � l'�tat g�n�ral du syst�me — dur�e de fonctionnement, charge moyenne, d�compte des processus, �tat du CPU et statistiques sur l'utilisation de la m�moire et de l'espace swap. La partie inf�rieure quant � elle fournit des statistiques au niveau des processus�; la nature de ces derni�res peut �tre modifi�e alors m�me que le commande top est en cours d'ex�cution. Par exemple, top affiche par d�faut, aussi bien les processus actifs que les processus inactifs. Afin d'afficher seulement les processus actifs, appuyez sur la touche [i]�; en appuyant une deuxi�me fois sur cette touche, l'affichage retourne au mode d'affichage par d�faut.

AvertissementAvertissement
 

Bien que top apparaisse comme �tant seulement un simple programme d'affichage, ce n'est pas le cas. Cette misconception s'explique par le fait que top utilise des commandes � caract�re unique pour effectuer certaines op�rations. Par exemple, si vous �tes connect� en tant que super-utilisateur, il est possible de changer la priorit� et m�me de mettre fin � tout processus sur votre syst�me. Il est par cons�quent plus s�r de vous limiter � l'utilisation de [q] (pour quitter top) jusqu'� ce que vous ayez pass� en revue l'�cran d'assistance de la commande top (tapez [?] pour faire appara�tre ce dernier).

2.5.2.1. Le Moniteur syst�me de GNOME — Une commande top graphique

Si vous vous sentez plus � l'aise avec des interfaces utilisateur graphiques, le Moniteur syst�me de GNOME vous conviendra peut-�tre mieux. Tout comme top, le Moniteur syst�me de GNOME affiche des informations sur l'�tat g�n�ral du syst�me, les d�comptes de processus, l'utilisation de la m�moire et du swap et les statistiques au niveau des processus.

Toutefois, le Moniteur syst�me de GNOME va encore plus loin dans le sens o� il inclut des repr�sentations graphiques du CPU, de l'utilisation de la m�moire et du swap ainsi qu'un listage sous forme de tableau de l'utilisation de l'espace disque. Pour examiner un exemple de la Liste des processus dress�e par le Moniteur syst�me de GNOME, reportez-vous � la Figure 2-1.

Figure 2-1. Affichage de la Liste des processus par le Moniteur syst�me de GNOME

Il est possible d'afficher des informations suppl�mentaires pour un processus sp�cifique en cliquant d'abord sur le processus en question avant de s�lectionner le bouton Plus d'info.

Pour afficher des statistiques relatives au CPU, � la m�moire et � l'utilisation du disque, cliquez sur l'onglet Moniteur syst�me.

2.5.3. vmstat

Pour une meilleure compr�hension de la performance du syst�me, vous pouvez utiliser vmstat. Gr�ce � ce moniteur de ressources, il est possible d'obtenir un aper�u de l'activit� des processus, de la m�moire, du swap, des E/S et du CPU sous la forme d'une ligne de nombres, comme le montre l'extrait reproduit ci-dessous�:

procs                      memory      swap          io     system         cpu
 r  b   swpd   free   buff  cache   si   so    bi    bo   in    cs us sy id wa
 0  0   5276 315000 130744 380184    1    1     2    24   14    50  1  1 47  0
        

La premi�re ligne subdivise le champ en six cat�gories � savoir�: processus, m�moire, swap, E/S, syst�me et CPU sur lesquelles elle donne des statistiques. La seconde ligne elle identifie de mani�re encore plus d�taill�e chacun des champs, permettant ainsi de parcourir simplement et rapidement l'ensemble des donn�es lors de la recherche de statistiques sp�cifiques.

Les champs relatifs aux processus sont les suivants�:

  • r — Le nombre de processus ex�cutables attendant d'avoir acc�s au CPU

  • b — Le nombre de processus ex�cutables dans un �tat de veille qui ne peut �tre interrompu

Les champs relatifs � la m�moire sont les suivants�:

  • swpd — La quantit� de m�moire virtuelle utilis�e

  • free — La quantit� de m�moire libre

  • buff — La quantit� de m�moire utilis�e par les tampons (ou buffers)

  • cache — La quantit� de m�moire utilis�e comme cache de pages

Les champs relatifs au swap sont les suivants�:

  • si — La quantit� de m�moire charg�e depuis le disque

  • so — La quantit� de m�moire d�charg�e sur le disque

Les champs relatifs aux Entr�es/Sorties (E/S) sont les suivants�:

  • bi — Blocs envoy�s vers un p�riph�rique blocs

  • bo— Blocs re�us d'un p�riph�rique blocs

Les champs relatifs au syst�me sont les suivants�:

  • in — Nombre d'interruptions par seconde

  • cs — Nombre de changements de contexte par seconde

Les champs relatifs au CPU sont les suivants�:

  • us — Le pourcentage de temps pendant lequel le CPU ex�cute un code de niveau utilisateur

  • sy — Le pourcentage de temps pendant lequel le CPU ex�cute un code de niveau syst�me

  • id — Le pourcentage de temps pendant lequel le CPU �tait inoccup�

  • wa — Attente d'E/S

Lorsque la commande vmstat est utilis�e sans aucune option,seule est affich�e une ligne fournissant des moyennes calcul�es sur la base du moment auquel le dernier d�marrage a eu lieu.

Toutefois, la plupart des administrateurs syst�me ne se basent pas vraiment sur les donn�es fournies sur cette ligne dans la mesure o� la dur�e au cours de laquelle elles ont �t� recueillies varie. Ils pr�f�rent profiter de la capacit� de vmstat � afficher de mani�re r�p�t�e et � intervalles d�finis des donn�es sur l'utilisation des ressources. Par exemple, la commande vmstat 1 affiche une nouvelle ligne de donn�es sur l'utilisation toutes les secondes, alors que la commande vmstat 1 10 fournit elle aussi une nouvelle ligne par seconde mais seulement pour les dix secondes suivantes.

Entre les mains d'un administrateur exp�riment�, la commande vmstat peut �tre utilis�e pour cerner rapidement des probl�mes d'utilisation de ressource ou de performance. Toutefois, afin d'obtenir une compr�hension plus approfondie de ces probl�mes, un type d'outil diff�rent est n�cessaire — un outil capable de recueillir et d'analyser des donn�es de mani�re plus d�taill�e.

2.5.4. Sysstat, la suite d'outils de contr�le des ressources

Alors que les outils pr�c�dents peuvent se r�v�ler utiles pour obtenir une certaine compr�hension de la performance du syst�me sur de courtes dur�es, ils ne fournissent qu'un bref aper�u de l'utilisation des ressources syst�me. En outre, certains aspects de la performance du syst�me ne peuvent pas �tre facilement contr�l�s par ces outils relativement primaires.

Un outil plus sophistiqu� est par cons�quent n�cessaire, d'o� Sysstat.

Pour le recueil de statistiques sur les E/S et le CPU, Sysstat contient les outils suivants�:

iostat

Affiche une vue d'ensemble de l'utilisation CPU ainsi que des statistiques d'E/S pour un ou plusieurs disque(s) dur(s).

mpstat

Affiche des statistiques plus d�taill�es sur le CPU.

Sysstat contient �galement des outils recueillant des donn�es sur l'utilisation des ressources syst�me et cr�ant des rapports quotidiens bas�s sur les donn�es recueillies. Parmi ces outils figurent�:

sadc

Connu comme le collecteur de donn�es sur l'activit� du syst�me, sadc recueille des informations relatives � l'utilisation des ressources syst�me et les enregistre dans un fichier.

sar

G�n�re des rapports � partir des fichiers cr��s par sadc�; ces rapports sar peuvent �tre produits de mani�re interactive ou �crits dans un fichier qui fera l'objet d'une analyse plus approfondie.

Les sections suivantes examinent chacun des ces outils de mani�re plus d�taill�e.

2.5.4.1. La commande iostat

La commande iostat dans son utilisation la plus �l�mentaire fournit une vue d'ensemble des statistiques du CPU et des E/S de disque.

Linux 2.4.20-1.1931.2.231.2.10.ent (pigdog.example.com)      07/11/2003

avg-cpu:  %user   %nice    %sys   %idle
           6.11    2.56    2.15   89.18

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
dev3-0            1.68        15.69        22.42   31175836   44543290
          

Au-dessous de la premi�re ligne (indiquant la version du noyau du syst�me et son nom d'h�te ainsi que la date actuelle) iostat affiche une vue d'ensemble de l'utilisation CPU moyenne du syst�me depuis le dernier d�marrage. Le rapport d'utilisation du CPU inclut les pourcentages suivants�:

  • Pourcentage de temps pass� en mode utilisateur (ex�cutant des applications, etc.)

  • Pourcentage de temps pass� en mode utilisateur (pour les processus qui ont modifi� leur priorit� de programmation � l'aide de la commande nice(2))

  • Pourcentage de temps pass� en mode noyau

  • Pourcentage de temps pass� en inactivit�

Au-dessous du rapport d'utilisation du CPU figure le rapport d'utilisation des p�riph�riques. Ce dernier contient une ligne pour chaque p�riph�rique disque du syst�me et inclut les informations suivantes�:

  • La sp�cification du p�riph�rique, apparaissant sous la forme dev<major-number>-sequence-number o� <major-number> correspond au nombre majeur du p�riph�rique[1] et <sequence-number> correspond � un num�ro de s�quence commen�ant par z�ro.

  • Le nombre de transferts (ou op�rations d'E/S) par seconde.

  • Le nombre de blocs de 512 octets lus par seconde.

  • Le nombre de blocs de 512 octets �crits par seconde.

  • Le nombre total de blocs de 512 octets lus par seconde.

  • Le nombre total de blocs de 512 octets �crits par seconde.

Ces exemples ne repr�sentent qu'un �chantillon des informations pouvant �tre obtenues � l'aide de iostat. Pour de plus amples informations sur le sujet, reportez-vous � la page de manuel de iostat(1).

2.5.4.2. La commande mpstat

Au premier abord, la commande mpstat semble fournir des informations semblables � celles incluses dans le rapport d'utilisation du CPU produit par iostat, comme le montre l'extrait ci-dessous�:

Linux 2.4.20-1.1931.2.231.2.10.ent (pigdog.example.com)      07/11/2003

07:09:26 PM  CPU   %user   %nice %system   %idle    intr/s
07:09:26 PM  all    6.40    5.84    3.29   84.47    542.47
          

En fait, � l'exception d'une colonne suppl�mentaire fournissant des informations sur les interruptions trait�es par le CPU toutes les secondes, il n'existe pas vraiment de diff�rence entre les deux commandes. Toutefois, si l'option -P ALL est utilis�e avec la commande mpstat, la situation est alors diff�rente, comme le montre l'extrait suivant�:

Linux 2.4.20-1.1931.2.231.2.10.ent (pigdog.example.com)      07/11/2003

07:13:03 PM  CPU   %user   %nice %system   %idle    intr/s
07:13:03 PM  all    6.40    5.84    3.29   84.47    542.47
07:13:03 PM    0    6.36    5.80    3.29   84.54    542.47
07:13:03 PM    1    6.43    5.87    3.29   84.40    542.47
          

Sur des syst�mes � processeurs multiples, mpstat permet d'afficher l'utilisation de chaque CPU de mani�re individuelle, si bien qu'il est alors possible de d�terminer le degr� d'efficacit� avec lequel chaque CPU est utilis�.

2.5.4.3. La commande sadc

Comme nous l'avons mentionn� pr�c�demment, la commande sadc recueille des donn�es sur l'utilisation du syst�me et les enregistre ensuite dans un fichier pour une analyse ult�rieure. Par d�faut, les donn�es sont �crites dans des fichiers faisant partie du r�pertoire /var/log/sa/. Ces derniers se nomment sa<dd> o� <dd> correspond au jour actuel dont la date est exprim�e en fonction de deux caract�res.

La commande sadc est normalement ex�cut�e par le script sa1. Ce dernier est invoqu� p�riodiquement par cron par le biais du fichier sysstat qui se trouve dans /etc/cron.d/. Le script sa1 invoque sadc pour un seul intervalle d'�valuation durant une seconde. Par d�faut, cron ex�cute sa1 toutes les 10 minutes et ajoute les donn�es recueillies lors de chaque intervalle au fichier courant nomm� /var/log/sa/sa<dd>.

2.5.4.4. La commande sar

La commande sar cr�e des rapports sur l'utilisation du syst�me en fonction des donn�es recueillies par sadc. Conform�ment � la mani�re dont elle a �t� configur�e dans Red Hat Enterprise Linux, la commande sar est automatiquement ex�cut�e pour traiter les fichiers recueillis automatiquement par sadc. Les fichiers du rapport qui sont �crits dans /var/log/sa/ se nomment sar<dd> o� <dd> correspond au jour pr�c�dent dont la date est exprim�e en fonction de deux caract�res.

La commande sar est normalement ex�cut�e par le script sa2. Ce dernier est invoqu� p�riodiquement par cron par le biais du fichier sysstat qui se trouve dans /etc/cron.d/. Par d�faut, cron ex�cute sa2 une fois par jour � 23:53, ce qui lui permet de cr�er un rapport prenant en compte les donn�es recueillies au cours de la journ�e enti�re.

2.5.4.4.1. Lecture des rapports sar

Le format d'un rapport sar cr�� selon la configuration par d�faut de Red Hat Enterprise Linux se pr�sente en plusieurs sections. Chacune d'elles contient un type sp�cifique de donn�es, class�es en fonction du moment auquel elles ont �t� recueillies pendant la journ�e. �tant donn� que la commande sadc est configur�e de mani�re � effectuer un intervalle d'�valuation d'une dur�e fix�e � une seconde toutes les dix minutes, le rapport par d�faut de sar contient des donn�es par incr�ments de 10 minutes, commen�ant � 00:00 et finissant � 23:50[2].

Chaque section de ce rapport commence par une en-t�te sp�cifiant le type de donn�es qu'elle contient. Cette en-t�te est r�p�t�e � diff�rents intervalles dans cette section, permettant ainsi d'examiner facilement les donn�es tout en parcourant le rapport. Chaque section se termine par une ligne exprimant la moyenne des donn�es rapport�es dans cette section.

Ci-apr�s figure l'exemple d'une section provenant d'un rapport cr�� par sar, dans lequel les donn�es recueillies entre 00:30 et 23:40 ont �t� supprim�es afin d'�conomiser de la place�:

00:00:01          CPU     %user     %nice   %system     %idle
00:10:00          all      6.39      1.96      0.66     90.98
00:20:01          all      1.61      3.16      1.09     94.14
…
23:50:01          all     44.07      0.02      0.77     55.14
Average:          all      5.80      4.99      2.87     86.34
            

Dans cette section figurent les informations relatives � l'utilisation du CPU. Le contenu est en fait tr�s proche des donn�es fournies par la commande iostat.

Il est possible que d'autres sections comportent plus d'une ligne de donn�es � la fois, comme le montre la section suivante g�n�r�e d'apr�s les donn�es relatives � l'utilisation du CPU, recueillies sur un syst�mes � double processeur�:

00:00:01          CPU     %user     %nice   %system     %idle
00:10:00            0      4.19      1.75      0.70     93.37
00:10:00            1      8.59      2.18      0.63     88.60
00:20:01            0      1.87      3.21      1.14     93.78
00:20:01            1      1.35      3.12      1.04     94.49
…
23:50:01            0     42.84      0.03      0.80     56.33
23:50:01            1     45.29      0.01      0.74     53.95
Average:            0      6.00      5.01      2.74     86.25
Average:            1      5.61      4.97      2.99     86.43
            

Les rapports g�n�r�s selon la configuration par d�faut de sar sous Red Hat Enterprise Linux incluent au total dix-sept sections diff�rentes, dont certaines seront examin�es dans des chapitres ult�rieurs. Pour de plus amples informations sur les donn�es contenues dans chaque section, reportez-vous � la page de manuel de sar(1).

2.5.5. OProfile

OProfile, le profileur de tout le syst�me, est un outil de contr�le fonctionnant avec un temps de gestion court. Il utilise le mat�riel de contr�le de performance du processeur[3].

Le mat�riel de contr�le de la performance fait partie du processeur lui-m�me. Il se pr�sente sous la forme d'un compteur sp�cial incr�ment� apr�s chaque �v�nement (comme lorsque le processeur est occup� ou que les donn�es ne sont pas stock�es dans un cache). Certains processeurs sont dot�s de plusieurs compteurs de ce type et permettent donc de r�server chaque compteur pour un type d'�v�nement particulier.

Les compteurs peuvent �tre initialis�s avec une certaine valeur de d�part et une interruption est engendr�e quand un compteur atteint sa limite. En donnant � un compteur des valeurs initiales diff�rentes, il est possible d'obtenir une variation du taux auquel les interruptions sont produites. De cette mani�re, il est �galement possible de contr�ler la fr�quence d'�chantillonnage et par cons�quent le degr� de d�tail obtenu � partir des donn�es recueillies.

Un cas extr�me consistant � initialiser le compteur de sorte qu'il engendre une interruption de d�passement apr�s chaque �v�nement, fournirait des donn�es de performance extr�mement d�taill�es (mais au prix d'un temps de gestion tr�s long). Le cas extr�me inverse consistant � initialiser le compteur de sorte qu'il engendre aussi peu d'interruptions que possible, ne donnerait lui en revanche qu'une vue d'ensemble tr�s g�n�rale de la performance du syst�me (mais avec un temps syst�me quasiment inexistant). Le secret d'un contr�le efficace r�side dans le choix d'une fr�quence d'�chantillonnage suffisamment �lev�e pour saisir les donn�es requises, mais sans toutefois �tre �lev�e, au point de surcharger le syst�me avec un temps de gestion excessif n�cessaire pour pouvoir effectuer le contr�le de la performance.

AvertissementAvertissement
 

La configuration de OProfile peut �tre effectu�e de telle sorte que le profileur impose un temps de gestion suffisant pour que le syst�me soit inutilisable. Il est par cons�quent important de choisir les valeurs du compteur avec beaucoup de prudence. C'est la raison pour laquelle la commande opcontrol prend en charge l'option --list-events qui permet d'afficher les diff�rents types d'�v�nements disponibles pour le processeur actuellement install�, ainsi que les valeurs du compteur recommand�es pour chacun d'eux.

Lors de l'utilisation de OProfile, il est important de garder � l'esprit le compromis n�cessaire entre la fr�quence d'�chantillonnage et le temps de gestion du syst�me.

2.5.5.1. Composants de OProfile

OProfile est constitu� des composants suivants�:

  • Logiciel de recueil de donn�es

  • Logiciel d'analyse de donn�es

  • Logiciel de l'interface administrative

Le logiciel de recueil de donn�es est compos� du module de noyau oprofile.o et du d�mon oprofiled.

Le logiciel d'analyse des donn�es quant � lui inclut les programmes suivants�:

op_time

Affiche le nombre et les pourcentages relatifs des �chantillons pris pour chaque fichier ex�cutable

oprofpp

Affiche le nombre et les pourcentages relatifs des �chantillons pris par fonction, instruction individuelle ou en sortie de type gprof

op_to_source

Affiche des listes de codes sources annot�s et/ou d'assemblages

op_visualise

Affiche sous forme graphique les donn�es recueillies

Gr�ce � ces programmes, il est possible d'afficher les donn�es recueillies de plusieurs mani�res diff�rentes.

Le logiciel de l'interface administrative contr�le tous les aspects li�s au recueil de donn�es, de la sp�cification des �v�nements � contr�ler au commencement et � l'arr�t des op�rations de recueil elles-m�mes. La commande opcontrol permet de d�terminer ces diff�rents aspects.

2.5.5.2. Exemple d'une session de OProfile

Cette section illustre une session de contr�le et d'analyse des donn�es avec OProfile, allant de la configuration initiale � l'analyse finale des donn�es. Cet exemple n'est autre qu'un bref aper�u fourni � titre d'introduction�; pour obtenir des informations plus d�taill�es, consultez le Guide d'administration syst�me de Red Hat Enterprise Linux.

Utilisez opcontrol pour configurer le type de donn�es � recueillir � l'aide de la commande suivante�:

opcontrol \
    --vmlinux=/boot/vmlinux-`uname -r` \
    --ctr0-event=CPU_CLK_UNHALTED \
    --ctr0-count=6000

Les options utilis�es ici instruisent opcontrol de�:

  • Diriger OProfile vers une copie du noyau actuellement en cours d'ex�cution (--vmlinux=/boot/vmlinux-`uname -r`)

  • Sp�cifier que le compteur 0 du processeur doit �tre utilis� et que l'�v�nement � contr�ler est le moment o� le CPU ex�cute des instructions (--ctr0-event=CPU_CLK_UNHALTED)

  • Sp�cifier que OProfile doit recueillir des �chantillons chaque fois que l'�v�nement sp�cifi� a �t� effectu� 6000 fois (--ctr0-count=6000)

V�rifiez en suite que le module noyau de oprofile est bien charg� � l'aide de la commande lsmod dont la sortie figure ci-dessous�:

Module                  Size  Used by    Not tainted
oprofile               75616   1
…

V�rifiez que le syst�me de fichiers de OProfile (situ� dans /dev/oprofile/) est bien mont� avec la commande ls /dev/oprofile/ dont la sortie figure ci-dessous�:

0  buffer       buffer_watershed  cpu_type  enable       stats
1  buffer_size  cpu_buffer_size   dump      kernel_only

(Le nombre exact de fichiers varie selon le type de processeur).

� ce stade, le fichier /root/.oprofile/daemonrc contient les param�trages dont le logiciel de recueil de donn�es a besoin, comme le montre l'extrait ci-dessous�:

CTR_EVENT[0]=CPU_CLK_UNHALTED
CTR_COUNT[0]=6000
CTR_KERNEL[0]=1
CTR_USER[0]=1
CTR_UM[0]=0
CTR_EVENT_VAL[0]=121
CTR_EVENT[1]=
CTR_COUNT[1]=
CTR_KERNEL[1]=1
CTR_USER[1]=1
CTR_UM[1]=0
CTR_EVENT_VAL[1]=
one_enabled=1
SEPARATE_LIB_SAMPLES=0
SEPARATE_KERNEL_SAMPLES=0
VMLINUX=/boot/vmlinux-2.4.21-1.1931.2.349.2.2.entsmp

Utilisez ensuite opcontrol pour effectivement commencer � recueillir des donn�es � l'aide de la commande opcontrol --start dont la sortie figure ci-dessous�:

Using log file /var/lib/oprofile/oprofiled.log
Daemon started.
Profiler running.

V�rifiez que le d�mon oprofiled est bien en cours d'ex�cution � l'aide de la commande ps x | grep -i oprofiled dont la sortie figure ci-dessous�:

32019 ?        S      0:00 /usr/bin/oprofiled --separate-lib-samples=0 …
32021 pts/0    S      0:00 grep -i oprofiled

(La ligne de commande oprofiled que ps affiche est en r�alit� beaucoup plus longue mais elle a d� �tre tronqu�e ici pour des raisons de formatage.)

Le syst�me est d�sormais sous surveillance et des donn�es sont recueillies sur tous les ex�cutables figurant sur le syst�me. Ces donn�es sont ensuite stock�es dans le r�pertoire /var/lib/oprofile/samples/. Les fichiers contenus dans ce dernier font l'objet d'une convention de nommage quelque peu inhabituelle, comme l'illustre l'exemple ci-dessous�:

}usr}bin}less#0

La convention de nommage utilise certes le chemin d'acc�s absolu pour chaque fichier contenant un code ex�cutable, mais la barre oblique avant (/) est remplac�e par des accolades de fermeture (}) et il se finit avec le symbole di�se (#) suivi d'un nombre (0 dans le cas pr�sent). Par cons�quent, le fichier utilis� dans notre exemple correspond � des donn�es qui ont �t� recueillies alors que /usr/bin/less �tait en cours d'ex�cution.

Une fois les donn�es recueillies, utilisez un de ces outils d'analyse pour les afficher. En mati�re de contr�le, OProfile est dot�e d'une excellente fonctionnalit� � savoir, il n'est pas n�cessaire d'interrompre le recueil des donn�es avant de pouvoir effectuer une analyse de donn�es. Il faut toutefois attendre qu'au moins un groupe d'�chantillons soit �crit sur le disque� mais il est tout � fait possible de forcer le transfert des �chantillons sur disque � l'aide de la commande opcontrol --dump.

Dans l'exemple suivant, la commande op_time est utilis�e pour afficher (dans l'ordre inverse — du nombre le plus �lev� d'�chantillons au nombre le plus bas) les �chantillons qui ont �t� recueillis�:

3321080   48.8021  0.0000 /boot/vmlinux-2.4.21-1.1931.2.349.2.2.entsmp
761776    11.1940  0.0000 /usr/bin/oprofiled
368933     5.4213  0.0000 /lib/tls/libc-2.3.2.so
293570     4.3139  0.0000 /usr/lib/libgobject-2.0.so.0.200.2
205231     3.0158  0.0000 /usr/lib/libgdk-x11-2.0.so.0.200.2
167575     2.4625  0.0000 /usr/lib/libglib-2.0.so.0.200.2
123095     1.8088  0.0000 /lib/libcrypto.so.0.9.7a
105677     1.5529  0.0000 /usr/X11R6/bin/XFree86
…

�tant donn� que les rapports peuvent s'�tendre sur plusieurs centaines de lignes, il est judicieux d'utiliser l'option less lorsqu'un rapport est cr�� de mani�re interactive. Le rapport reproduit dans notre exemple a d'ailleurs �t� tronqu� pour cette raison.

Le format ce rapport sp�cifique consiste � cr�er une ligne chaque fichier ex�cutable pour lequel des �chantillons ont �t� recueillis. Chaque ligne suit ce format particulier, comme le montre l'extrait suivant�:

<sample-count> <sample-percent> <unused-field> <executable-name> 

o�:

  • <sample-count> correspond au nombre d'�chantillons recueillies

  • <sample-percent> correspond au pourcentage de tous les �chantillons recueillis pour cet ex�cutable sp�cifique

  • <unused-field> repr�sente un champ qui n'est pas utilis�

  • <executable-name> correspond au nom du fichier contenant le code de l'ex�cutable pour lequel des �chantillons ont �t� recueillis.

Ce rapport (cr�� sur un syst�me essentiellement inoccup�) montre que presque la moiti� de tous les �chantillons ont �t� recueillis alors que le CPU ex�cutait des codes au sein du noyau lui-m�me. Le d�mon de recueil de donn�es OProfile �tait le premier �l�ment mis en attente, suivi par une vari�t� de biblioth�ques et le serveur du Syst�me X Window, XFree86. Il est important de noter ici que pour le syst�me ex�cutant cette session, la valeur de 6000 utilis�e pour le compteur correspond � la valeur minimale recommand�e par opcontrol --list-events. Dans de telles conditions — au moins pour ce syst�me particulier — le temps de gestion de OProfile � son niveau le plus �lev�, consomme environ 11% du CPU.

Notes

[1]

Les nombres majeurs des p�riph�riques peuvent �tre obtenus en utilisant ls -l pour afficher le fichier de p�riph�rique souhait� se trouvant dans /dev/. Le nombre majeur appara�t apr�s la sp�cification du groupe du p�riph�rique.

[2]

En raison des variations des charges du syst�me, il se peut que l'heure exacte � laquelle les donn�es sont recueillies varie d'une ou deux secondes.

[3]

OProfile peut �galement utiliser un autre m�canisme (appel� TIMER_INT) pouvant �tre utilis� pour les architectures de syst�mes qui ne disposent pas de mat�riel pour le contr�le de la performance.

 
 
  Published under the terms of the GNU General Public License Design by Interspire