Remarque :
- Ce tutoriel est disponible dans un environnement de laboratoire gratuit fourni par Oracle.
- Il utilise des exemples de valeur pour les informations d'identification, la location et les compartiments Oracle Cloud Infrastructure. A la fin de l'exercice, remplacez ces valeurs par celles propres à votre environnement cloud.
Surveiller les ressources système sur Oracle Linux
Introduction
Dans ce tutoriel, vous allez utiliser Oracle Linux vmstat
, mpstat
et top
pour surveiller l'utilisation des ressources système. La surveillance de l'utilisation des ressources système est utile pour détecter les problèmes susceptibles de nuire aux performances du système.
Contexte
Oracle Linux fournit des outils de surveillance et d'analyse de l'utilisation des ressources système, ainsi que des outils de suivi permettant de diagnostiquer les problèmes de performances dans plusieurs processus et threads associés.
Objectifs
- Explorer la commande
vmstat
- Explorer la commande
mpstat
- Explorer la commande
top
- Utilisez
vmstat
etmpstat
, ettop
- Examinez la sortie de la commande
vmstat
,mpstat
ettop
De quoi avez-vous besoin ?
Système client sur lequel Oracle Linux 8 ou version ultérieure est installé.
Remarque : lorsque vous utilisez l'environnement d'exercices gratuits, reportez-vous à Notions de base d'Oracle Linux Lab pour obtenir des instructions de connexion et d'utilisation.
Explorer et utiliser les options de commande vmstat
vmstat
indique la quantité de mémoire virtuelle et la quantité de mémoire libre. La commande affiche également l'activité de pagination. Vous pouvez observer les entrées et les sorties de page au fur et à mesure qu'elles se produisent sur le système.
Vous pouvez envisager d'optimiser votre zone d'affichage à l'aide des commandes Masquer les étapes et "Ecran complet" situées dans la barre des tâches, comme illustré dans les images.
Regardez la vidéo ci-dessous pour obtenir une présentation sur vmstat
.
-
Exécutez la commande
vmstat
sans aucune option.vmstat
La commande génère un seul rapport. La sortie est divisée en six sections :
procs
,memory
,swap
,io
,system
etcpu
.-
Les deux premières colonnes fournissent des informations sur les processus :
-
r
est le nombre de processus en attente. Il s'agit de processus inactifs et en attente d'exécution. -
b
est le nombre de processus qui étaient en mode veille et qui ont été interrompus depuis la dernière mise à jour.
-
-
Les quatre colonnes suivantes fournissent des informations sur la mémoire :
-
swpd
est la quantité de mémoire virtuelle utilisée. -
free
est la quantité de mémoire inactive. -
buff
représente la quantité de mémoire utilisée en tant que tampons. -
cache
est la quantité de mémoire utilisée comme cache.
-
-
Les deux colonnes suivantes fournissent des informations sur le swap :
-
si
est la quantité de mémoire permutée à partir du disque (par seconde). -
so
est la quantité de mémoire permutée sur le disque (par seconde).Les numéros
si
etso
non nuls indiquent que la mémoire physique est insuffisante, ce qui entraîne le remplacement de la mémoire par le noyau sur le disque.
-
-
Les deux colonnes suivantes indiquent Entrée/Sortie :
-
bi
est le nombre de blocs reçus par seconde à partir d'un périphérique en mode bloc. -
bo
est le nombre de blocs envoyés par seconde à un périphérique en mode bloc.
-
-
Les deux colonnes suivantes fournissent les informations système suivantes :
-
in
est le nombre d'interruptions par seconde, y compris l'horloge. -
cs
est le nombre de commutateurs de contexte par seconde.
-
-
Les cinq dernières colonnes indiquent les pourcentages de temps CPU total :
-
us
est le pourcentage de cycles d'UC utilisés sur les processus utilisateur. -
sy
est le pourcentage de cycles CPU utilisés sur les processus système (noyau). -
id
est le pourcentage de cycles d'UC inactifs. -
wa
est le pourcentage de cycles d'UC passés en attente d'E/S. -
st
est le pourcentage de cycles d'UC volés à partir d'une machine virtuelle.
-
-
-
Exécutez la commande
vmstat 1
(numérique, et non la lettre minusculel
) pour afficher un rapport continu par seconde.vmstat 1
- Pour mettre fin, appuyez sur Ctrl+C.
-
Exécutez la commande
vmstat 7 4
pour exécuter quatre rapports à sept secondes d'intervalle.vmstat 7 4
L'option count indique à
vmstat
le nombre de rapports à exécuter (4) et l'option delay (7) est l'intervalle de temps entre chaque rapport. -
Exécutez la commande
vmstat -s
pour afficher un tableau de différents compteurs d'événements et statistiques de mémoire.vmstat -s
-
Exécutez la commande
vmstat -a
pour afficher la mémoire active et inactive.vmstat -a
L'option
-a
affiche la quantité de mémoireactive
et inactive (inact
) dans la sectionmemory
de la sortie. -
Exécutez la commande
vmstat -f
pour afficher le nombre de forks depuis la dernière initialisation.vmstat -f
-
Exécutez la commande
vmstat -t
pour ajouter un horodatage à la sortie.vmstat -t
-
Exécutez la commande
vmstat -d
pour afficher les statistiques d'utilisation du disque sur le système.vmstat -d
-
Exécutez la commande
vmstat -p sda1
pour créer un rapport sur une partition de disque spécifique.vmstat -p sda1
La sortie présente un récapitulatif de la partition, y compris le nombre de lectures et d'écritures.
Explorer et utiliser les options de commande mpstat
La commande mpstat
permet de collecter et d'afficher les statistiques de performances de toutes les CPU logiques du système. Lorsqu'une CPU est occupée par un processus, elle n'est pas disponible pour le traitement des autres demandes. Ces autres processus doivent attendre que la CPU soit libre.
Regardez la vidéo ci-dessous pour obtenir une présentation sur mpstat
.
-
Exécutez la commande
mpstat
sans aucune option.mpstat
La première ligne affiche la version du noyau Linux, le nom d'hôte, la date actuelle, l'architecture et le nombre de CPU de votre système.
La première colonne de la ligne suivante fournit un horodatage, les autres colonnes étant définies comme suit :
-
CPU
est le processeur désigné par le numéro commençant à0
ou le mot-cléall
indiquant que les statistiques sont calculées comme des moyennes parmi tous les processeurs. -
%user
est le pourcentage d'UC utilisée lors de l'exécution des applications au niveau de l'utilisateur. -
%nice
est le pourcentage d'UC utilisé lors de l'exécution au niveau de l'utilisateur avec une bonne priorité. -
%sys
est le pourcentage de CPU utilisée lors de l'exécution au niveau du système (noyau).La commande
mpstat
n'inclut pas le temps passé à traiter les interruptions matérielles et logicielles. -
%iowait
est le pourcentage de temps pendant lequel les CPU étaient inactives alors que le système disposait d'une demande d'E/S de disque en attente. -
%irq
est le pourcentage de temps passé par les CPU à traiter les interruptions matérielles. -
%soft
est le pourcentage de temps passé par les CPU à traiter les interruptions logicielles. -
%steal
représente le pourcentage de temps d'attente involontaire des UC virtuelles pendant que l'hyperviseur servait un autre processeur virtuel. -
%guest
est le pourcentage de temps passé par les UC pour exécuter un processeur virtuel. -
%gnice
est le pourcentage de temps passé par les UC pour exécuter un invité sans frais. -
%idle
représente le temps d'inactivité (ou les UC) de l'UC et le temps pendant lequel aucune demande d'E/S disque n'était en attente sur le système.
-
-
Exécutez la commande
mpstat 2 5
pour afficher l'activité de la CPU toutes les deux secondes, pour un total de cinq rapports sur toutes les CPU.mpstat 2 5
La sortie imprime une ligne d'informations au total cinq fois, ainsi qu'une moyenne.
-
Exécutez la commande
mpstat -P ALL
pour indiquer l'utilisation de l'UC sur chaque CPU.mpstat -P ALL
Cette sortie imprime une seule ligne d'activité pour toutes les CPU et pour chaque CPU. Remarque :
mpstat
imprime également l'utilisation moyenne de l'UC pour la période indiquée. -
Exécutez la commande
mpstat -P ALL 2 5
pour afficher l'activité de la CPU toutes les deux secondes sur les CPU.mpstat -P ALL 2 5
Cette sortie imprime les statistiques d'utilisation de la CPU pour chaque CPU 5 fois à un intervalle de 2 secondes. Remarque :
mpstat
imprime également l'utilisation moyenne de l'UC pour la période indiquée. -
Exécutez la commande
mpstat -A
pour imprimer les statistiques d'utilisation de la CPU et d'interruption ensemble dans la même sortie de commande.mpstat -A
Explorer la commande top
La commande top
fournit une vue continue de l'activité du processeur en temps réel. top
affiche la liste des processus ou tâches les plus gourmands en CPU sur le système et fournit une interface interactive limitée pour la manipulation des processus.
Regardez la vidéo ci-dessous pour obtenir une présentation sur top
.
-
Exécutez la commande
top
sans aucune option pour une vue à un point dans le temps de l'activité de l'UC.top
Par défaut, la sortie est actualisée toutes les trois secondes et divisée en deux sections principales.
La section supérieure affiche des informations générales telles que les moyennes de charge au cours des 1, 5 et 15 dernières minutes, le nombre de tâches en cours d'exécution et en veille, ainsi que l'utilisation globale de la CPU et de la mémoire.
-
Utilisez la commande suivante pour activer ou désactiver la sortie affichée dans la section supérieure :
-
Entrez la lettre minuscule
l
(non numérique1
) pour activer/désactiver la moyenne de charge et le temps de disponibilité. -
Entrez
m
pour désactiver et activer la mémoire et l'utilisation du swap. -
Entrez
t
pour désactiver et activer la mémoire et l'utilisation du swap.
-
La section inférieure affiche une liste triée des processus, généralement par utilisation de l'UC, ainsi que leurs ID de processus (PID) et l'utilisateur propriétaire du processus. En outre, les sorties affichent le temps d'exécution et la mémoire utilisés par les processus.
Les colonnes de la section inférieure sont décrites ci-dessous :
-
PID
est l'ID de processus unique de la tâche. -
USER
est le nom utilisateur effectif du propriétaire de la tâche. -
PR
est la priorité réelle de la tâche. -
NI
est la valeur de la tâche dans l'espace utilisateur.Une valeur négative signifie une priorité plus élevée et une valeur positive signifie une priorité plus faible. La valeur zéro signifie que la priorité d'une tâche n'a pas d'effet lors de son exécution.
-
VIRT
est la quantité totale de mémoire virtuelle utilisée par la tâche.Cette valeur inclut l'ensemble du code, des données et des bibliothèques partagées, ainsi que les pages échangées.
-
RES
représente la mémoire physique non permutée ou la taille résidente utilisée par une tâche. -
SHR
représente la quantité de mémoire partagée utilisée par la tâche.Cette mémoire peut potentiellement être partagée avec d'autres processus.
-
S
est le statut de la tâche. Il existe cinq états :-
D
Veille sans interruption -
R
En cours d'exécution -
S
En veille -
T
Tracé ou arrêté -
Z
Zombie
-
-
%CPU
est la part du temps UC écoulé ou de l'utilisation de l'UC depuis la dernière mise à jour de l'écran, exprimée en pourcentage du temps UC total. -
%MEM
est le partage actuellement utilisé de la mémoire physique disponible ou de l'utilisation de la mémoire. -
TIME+
est le temps UC total utilisé par la tâche depuis son démarrage. -
COMMAND
est le nom de la ligne de commande ou du programme utilisé pour démarrer une tâche.
-
-
Quittez
top
en saisissant Crtl+C.
Comparer la sortie de commande à partir de vmstat
, mpstat
et top
Dans cet exercice, vous allez exécuter différents tests stress
pour émuler différentes charges sur votre système d'exercices, puis utiliser les commandes vmstat
, mpstat
et top
pour déterminer ce qu'ils génèrent pour les différents types de charge.
Même si vous exécutez les tests en tant que processus en arrière-plan, envisagez d'ouvrir d'autres fenêtres de terminal pour vos comparaisons.
Chaque fenêtre supplémentaire nécessite la connexion à l'instance d'exercice à l'aide de ssh
à oracle@<IP_ADDRESS_OF_COMPUTE_INSTANCE>
. Où <IP_ADDRESS_OF_COMPUTE_INSTANCE>
est l'adresse IP copiée à partir de la console Oracle Cloud.
- Après vous être connecté, utilisez la commande
sudo -i
pour passer à l'utilisateur root.
-
Installez l'outil
stress
.-
Utilisez la commande
dnf repolist
pour vérifier le statut du référentielol8_developer_EPEL
.dnf repolist ol8_developer_EPEL
-
Si le statut est
enabled
, passez à l'installation des packages d'outilsstress
; sinon, continuez à "activer" le référentiel. -
Activez le référentiel si le statut est
disabled
à l'aide de la commandednf conifg-manager
.dnf config-manager --enable ol8_developer_EPEL
-
-
-
Exécutez la commande
dnf install
pour installer les packages d'outilsstress
.dnf install stress -y
-
Exécutez la commande
stress --dry-run
pour afficher un exemple de syntaxe de commande. Prenez un instant et passez en revue les options de l'exemple, ainsi que les autres options de commande répertoriées.stress --dry-run
-
Exécutez les commandes
vmstat 4 4
etmpstat 4 4
pour afficher une ligne de base de l'activité du système. Notez plus précisément les pourcentages de CPU alloués aux processus utilisateur et système (noyau). Ces colonnes doivent être proches de zéro0
. Notez également la quantité de mémoire libre.vmstat 4 4 mpstat 4 4
-
Exécutez la commande
stress --cpu
pour émuler un programme lié au calcul et exécutez la commande en arrière-plan. Cette commande génère dynamiquement huit processus liés au calcul.stress --cpu 8 &
-
Appuyez sur return pour revenir à l'invite.
-
Exécutez la commande
ps -ef
pour afficher les processusstress
en cours d'exécution. Transmettez la sortie àgrep stress
.ps -ef | grep stress
-
-
Exécutez la commande
vmstat 4 10
et notez les valeurs indiquées dans les colonnes associées à l'utilisation de l'UC.vmstat 4 10
Dans quelques instants, les pourcentages sous la colonne
us
doivent refléter la charge générée parstress
. -
Exécutez la commande
mpstat 4 10
pour évaluer l'utilisation de toutes les CPU.mpstat 4 10
-
Exécutez la commande
mpstat -P ALL 4 10
pour évaluer l'utilisation de chaque CPU.mpstat -P ALL 4 10
-
Exécutez la commande
top
pour examiner l'utilisation de l'UC par les processusstress
.top
Au bout de quelques minutes, les processus
stress
sont exécutés avec la priorité la plus élevée. Quitteztop
en saisissant Ctrl+C. -
Exécutez la commande
pkill
pour mettre fin aux processusstress
.pkill stress
-
Réexécutez les commandes
vmstat 4 4
etmpstat 4 4
pour afficher une ligne de base de l'activité du système. -
Exécutez une nouvelle commande
stress
et ajoutez les options--vm
et--vm-bytes
pour générer dynamiquement l'activité de mémoire sur le système.stress --cpu 8 --vm 8 --vm-bytes 512M &
-
Exécutez
vmstat 4 10
,mpstat -P ALL 4 10
ettop
pour évaluer l'activité de l'UC et de la mémoire.vmstat 4 10 mpstat -P ALL 4 10 top
- Quittez
top
en saisissant Crtl+C.
- Quittez
-
Utilisez la commande
pkill
pour mettre fin aux processusstress
.pkill stress
-
Réexécutez les commandes
vmstat 4 4
etmpstat 4 4
pour afficher une ligne de base de l'activité du système. -
Exécutez une nouvelle commande
stress
et ajoutez l'option--io
pour générer dynamiquement l'activité d'entrée/sortie sur le système.stress --cpu 8 --vm 8 --vm-bytes 512M --io 8 &
-
Exécutez
vmstat 4 10
,mpstat -P ALL 4 10
ettop
pour évaluer l'activité de l'UC, de la mémoire, des entrées/sorties.vmstat 4 10 mpstat -P ALL 4 10 top
-
Quittez
top
en saisissant Crtl+C. -
Utilisez
pkill
pour mettre fin àstress
.
-
Ressources de formation supplémentaires
Explorez d'autres exercices sur docs.oracle.com/learn ou accédez à davantage de contenu d'apprentissage gratuit sur le canal Oracle Learning YouTube. De plus, visitez le site education.oracle.com/learning-explorer pour devenir Oracle Learning Explorer.
Pour consulter la documentation du produit, consultez le centre d'aide Oracle.
Monitor system resources on Oracle Linux
F49875-04
May 2022
Copyright © 2021, Oracle and/or its affiliates.