• Aucun résultat trouvé

Sysstat, la suite d’outils de contrôle des ressources

Dans le document Red Hat Enterprise Linux 3 (Page 37-40)

2. Contrôle des ressources

2.4. Que contrôler ?

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 du 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,sadcrecueille des informations relatives à l’utilisation des ressources système et les enregistrent dans un fichier.

sar

Génère des rapports à partir des fichiers créés parsadc; ces rapportssarpeuvent ê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 commandeiostat

La commandeiostatdans son utilisation la plus élémentaire fournit une vue d’ensemble des statis-tiques 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)iostataffiche 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 du temps passé en mode utilisateur (exécutant des applications, etc.)

Pourcentage du temps passé en mode utilisateur (pour les processus qui ont modifié leur priorité de programmation à l’aide de la commandenice(2))

Pourcentage du temps passé en mode noyau

Pourcentage du 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 formedev major-number -sequence-number major-number correspond au nombre majeur du périphérique3et sequence-number à un numéro de série dont le premier élément est 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 io-stat(1).

2.5.4.2. La commandempstat

Au premier abord, la commandempstatsemble fournir des informations semblables à celles incluses dans le rapport d’utilisation du CPU produit pariostat, 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 com-mandes. Toutefois, si l’option-P ALLest utilisée avec la commandempstat, 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,mpstatpermet 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é selon lequel chaque CPU est utilisé.

3. Les nombres majeurs des périphériques peuvent être obtenus en utilisantls -lpour afficher le fichier de périphériques souhaité se trouvant dans/dev/. Ci-après figure un exemple de sortie renvoyée parls -l /dev/hda:

brw-rw---- 1 root disk 3, 0 Aug 30 19:31 /dev/hda

Le nombre majeur dans cet exemple est3et apparaît entre le groupe du fichier et son numéro mineur.

2.5.4.3. La commandesadc

Comme nous l’avons mentionné précédemment, la commande sadcrecueille 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 nommentsa dd dd correspond au jour actuel dont la date est exprimée en fonction de deux caractères.

La commandesadcest normalement exécutée par le scriptsa1. Ce dernier est invoqué périodique-ment parcronpar le biais du fichiersysstatqui se trouve dans/etc/cron.d/. Le scriptsa1 invoquesadcpour un seul intervalle d’évaluation durant une seconde. Par défaut,cronexécutesa1 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 commandesar

La commandesarcrée des rapports sur l’utilisation du système en fonction des données recueillies parsadc. Conformément à la manière dont elle a été configurée dans Red Hat Enterprise Linux, la commandesarest automatiquement exécutée pour traiter les fichiers recueillis automatiquement par sadc. Les fichiers du rapport qui sont écrits dans/var/log/sa/se nommentsar dd dd correspond au jour précédent dont la date est exprimée en fonction de deux caractères.

La commandesarest normalement exécutée par le scriptsa2. Ce dernier est invoqué périodiquement parcronpar le biais du fichiersysstatqui se trouve dans/etc/cron.d/. Par défaut,cronexécute sa2une 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 fichierssar

Le format d’un rapportsarcréé selon la configuration par défaut de Red Hat Enterprise Linux se présente en plusieurs sections. Chacune d’elle 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 sadcest 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 desarcontient des données par incréments de 10 minutes, commençant à 00:00 et finissant à 23:504.

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 facile-ment 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éé parsar, 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 commandeiostat.

4. 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.

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 desarsous 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 desar(1).

Dans le document Red Hat Enterprise Linux 3 (Page 37-40)