Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

Chapitre 18. Outils de surveillance du système

Pour configurer le système, les administrateurs système ont souvent besoin de déterminer la quantité de mémoire libre, la quantité d'espace disque libre, la manière par laquelle le disque dur est partitionné, ou quels sont les processus en cours d'exécution.

18.1. Afficher les processus système

18.1.1. Utiliser la commande ps

La commande ps permet d'afficher des informations sur l'exécution de processus. Elle produit une liste statique, ou instantané, de ce qui est cours d'exécution au moment où la commande est exécutée. Si vous souhaitez afficher une liste des processus en cours d'exécution constamment mise à jour, veuillez utiliser la commande top ou l'application de surveillance système « System Monitor » à la place.
Pour répertorier tous les processus actuellement en cours d'exécution sur le système, y compris les processus appartenant à d'autres utilisateurs, veuillez saisir ce qui suit à l'invite de shell :
ps ax
Pour chaque processus répertorié, la commande ps ax affiche l'ID du processus (PID), le terminal qui y est associé (TTY), le statut actuel (STAT), le temps CPU accumulé (TIME), et le nom du fichier exécutable (COMMAND). Exemple :
~]$ ps ax
PID TTY      STAT   TIME COMMAND
  1 ?        Ss     0:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 23
  2 ?        S      0:00 [kthreadd]
  3 ?        S      0:00 [ksoftirqd/0]
  5 ?        S>     0:00 [kworker/0:0H][sortie tronquée]
Pour afficher le propriétaire à côté de chaque processus, veuillez utiliser la commande suivante :
ps aux
À l'exception des informations fournies par la commande ps ax, ps aux affiche le nom d'utilisateur du propriétaire du processus (USER), le pourcentage d'utilisation du CPU (%CPU) et de la mémoire (%MEM), la taille de la mémoire virtuelle en kilo-octets (VSZ), la taille de la mémoire physique non swap en kilo-octets (RSS), et l'heure ou la date à laquelle le processus a été lancé. Exemple :
~]$ ps aux
USER  PID %CPU %MEM    VSZ   RSS TTY   STAT START   TIME COMMAND
root    1  0.3  0.3 134776  6840 ?     Ss   09:28   0:01 /usr/lib/systemd/systemd --switched-root --system --d
root    2  0.0  0.0      0     0 ?     S    09:28   0:00 [kthreadd]
root    3  0.0  0.0      0     0 ?     S    09:28   0:00 [ksoftirqd/0]
root    5  0.0  0.0      0     0 ?     S>   09:28   0:00 [kworker/0:0H][sortie tronquée]
Il est aussi possible d'utiliser la commande ps en conjonction avec grep pour voir si un processus particulier est en cours d'utilisation. Par exemple, pour déterminer si Emacs est en cours d'utilisation, veuillez saisir :
~]$ ps ax | grep emacs
12056 pts/3    S+     0:00 emacs
12060 pts/2    S+     0:00 grep --color=auto emacs
Pour obtenir une liste complète des options de ligne de commande disponibles, veuillez consulter la page man de ps(1).

18.1.2. Utiliser la commande top

La commande top affiche une liste en temps réel des processus exécutés sur le système. Elle affiche également des informations supplémentaires sur le temps d'activité du système, l'utilisation actuelle du CPU et de la mémoire, ou le nombre total de processus en cours d'exécution, et vous permet d'effectuer des actions comme le tri de la liste ou l'arrêt d'un processus.
Pour exécuter la commande top, veuillez saisir ce qui suit dans une invite de shell :
top
Pour chaque processus répertorié, la commande top affiche l'ID du processus (PID), le nom du propriétaire du processus (USER), la priorité (PR), la valeur nice (NI), la quantité de mémoire virtuelle utilisée par le processus (VIRT), la quantité de mémoire physique non swap qu'il utilise (RES), la quantité de mémoire partagée qu'il utilise (SHR), le champ de statut du processus S), le pourcentage d'utilisation du CPU (%CPU) et de la mémoire (%MEM), le temps CPU cummulé (TIME+), et le nom du fichier exécutable (COMMAND). Exemple :
~]$ top
top - 16:42:12 up 13 min,  2 users,  load average: 0.67, 0.31, 0.19
Tasks: 165 total,   2 running, 163 sleeping,   0 stopped,   0 zombie
%Cpu(s): 37.5 us,  3.0 sy,  0.0 ni, 59.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1016800 total,    77368 free,   728936 used,   210496 buff/cache
KiB Swap:   839676 total,   776796 free,    62880 used.   122628 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
 3168 sjw       20   0 1454628 143240  15016 S 20.3 14.1   0:22.53 gnome-shell
 4006 sjw       20   0 1367832 298876  27856 S 13.0 29.4   0:15.58 firefox
 1683 root      20   0  242204  50464   4268 S  6.0  5.0   0:07.76 Xorg
 4125 sjw       20   0  555148  19820  12644 S  1.3  1.9   0:00.48 gnome-terminal-
   10 root      20   0       0      0      0 S  0.3  0.0   0:00.39 rcu_sched
 3091 sjw       20   0   37000   1468    904 S  0.3  0.1   0:00.31 dbus-daemon
 3096 sjw       20   0  129688   2164   1492 S  0.3  0.2   0:00.14 at-spi2-registr
 3925 root      20   0       0      0      0 S  0.3  0.0   0:00.05 kworker/0:0
    1 root      20   0  126568   3884   1052 S  0.0  0.4   0:01.61 systemd
    2 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kthreadd
    3 root      20   0       0      0      0 S  0.0  0.0   0:00.00 ksoftirqd/0
    6 root      20   0       0      0      0 S  0.0  0.0   0:00.07 kworker/u2:0[sortie tronquée]
Tableau 18.1, « Commandes top interactives » contient des commandes interactives utiles que vous pouvez utiliser avec top. Pour obtenir des informations supplémentaires, veuillez consulter la page man de top(1).

Tableau 18.1. Commandes top interactives

CommandeDescription
Entrée, EspaceRéactualise immédiatement l'affichage.
hAffiche un écran d'aide pour les commandes interactives.
h, ?Affiche un écran d'aide pour les fenêtres et les groupes de champs.
kArrête un processus. Il vous sera demandé l'ID du processus et le signal à envoyer.
nModifie le nombre de processus affichés. Ce nombre vous sera demandé.
uTrie la liste par utilisateur.
MTrie la liste selon l'utilisation mémoire.
PTrie la liste selon l'utilisation du CPU.
qTermine l'utilitaire et retourne à l'invite du shell.

18.1.3. Utiliser l'outil de surveillance du système « System Monitor »

L'onglet Processus de l'outil de surveillance système « System Monitor » vous permet d'afficher de rechercher, de modifier la priorité, et d'arrêter des processus à partir de l'interface utilisateur graphique.
Pour lancer l'outil System Monitor à partir de la ligne de commande, veuillez saisir gnome-system-monitor à l'invite de shell. L'outil System Monitor apparaît. Alternativement, si le bureau GNOME est utilisé, appuyez sur la touche Super pour aller sur la « Vue d'ensemble des activités », saisissez System Monitor puis appuyez sur Entrée. L'outil System Monitor apparaît. La touche Super peut se trouver sous diverses formes selon le clavier ou du matériel, mais le plus souvent, il s'agit de la touche Windows ou de la touche de Commande, habituellement à gauche de la Barre d'espace.
Cliquez sur l'onglet Processus pour afficher la liste des processus en cours d'exécution.
System Monitor — Processus

Figure 18.1. System Monitor — Processus

Pour chaque processus répertorié, l'outil System Monitor affiche son nom (Process Name), statut actuel (Status), le pourcentage d'utilisation du CPU (% CPU), la valeur nice (Nice), L'ID du processus (ID), l'utilisation de la mémoire (Memory), le canal dans lequel le processus attend (Waiting Channel), ainsi que des détails supplémentaires sur la session (Session). Pour trier les informations sur une colonne spécifique par ordre croissant, veuillez cliquer sur le nom de cette colonne. Cliquez à nouveau sur le nom de la colonne pour basculer le tri entre un ordre croissant et décroissant.
Par défaut, l'outil System Monitor affiche une liste de processus appartenant à l'utilisateur actuel. La sélection de diverses options dans le menu Affichage permet :
  • d'afficher les processus actifs uniquement,
  • d'afficher tous les processus,
  • d'afficher vos processus,
  • d'afficher les dépendances des processus,
En outre, deux boutons permettent de :
  • Réactualiser la liste des processus,
  • terminer un processus en le sélectionnant dans la liste et en cliquant sur le bouton Terminer le processus.