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
Answertopia.com

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

  




 

 

Linuxtopia - Red Hat 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