Gérer facilement les processus du système avec htop

Quand la performance décline ou même lorsque le système informatique se fige soudainement, une question se pose rapidement : des programmes sont-ils en cours d’exécution en arrière-plan, de manière imperceptible, et utilisent-ils inutilement des ressources provoquant une surcharge de travail ? Le gestionnaire de tâches, connu aussi sous le nom de gestionnaire de processus peut répondre à cette question en recueillant des informations détaillées sur tous les processus actifs du système et en présentant des aperçus. En plus de cette fonction de surveillance, les gestionnaires de tâches ont également les fonctions nécessaires pour gérer et contrôler ces processus : ils peuvent ainsi détecter les programmes et services qui saturent le fonctionnement de votre système et peuvent remédier à ce problème en arrêtant ces programmes.

Htop : la solution open source avec la répartition des threads

Par défaut, les systèmes d’exploitation classiques, possèdent déjà un gestionnaire de processus qui est installé et offre des commandes appropriées pour visualiser et gérer les processus. Il existe cependant des programmes alternatifs comme htop : ce moniteur système est caractérisé par une meilleure visualisation des données des processus et surtout il est bien plus facile à manier. Il est à l’origine développé exclusivement comme gestionnaire de tâches Linux, sous licence GNU, et remplit le même rôle que la commande top permettant ainsi aux processus actifs d’être affichés sur les systèmes UNIX. De plus, le terminal est remplacé par un masque d’entrée avec une interface de texte basée en C sur la bibliothèque ncurses. De cette façon, htop peut être utilisé facilement avec le clavier sans avoir à entrer des commandes complexes.

Le gestionnaire de processus, édité en 2004 par Hisham Muhammad, s’est depuis cette date complétement développé ; il indique les tâches actives mais aussi chaque thread (fil ou tâche d’exécution) individuel. Cette opération représente une description bien plus détaillée de chaque processus et permet ainsi une évaluation bien plus précise. Il existe quelques raccourcis clavier pour htop et, démarré dans un environnement de bureau, le gestionnaire peut même être contrôlé avec la souris. Par exemple, si on utilise la dernière bibliothèque ncurses, on peut parcourir et faire défiler avec la molette de la souris afin d’avoir une rapide vue d’ensemble du processus. En plus des distributions Linux et Ubuntu, le gestionnaire de tâches est désormais aussi disponible avec sa dernière version sur les dérivées UNIX FreeBSD, OpenBSD et Mac OS X.

Comment est construit le gestionnaire de tâches pour Linux ?

L’interface d’htop est divisée en trois parties :

  • L’en-tête
  • La zone principale
  • Le pied de page

L’en-tête, scindé en deux, présente par défaut sur le côté gauche l’utilisation de différents cœurs de processeurs en pourcentage ainsi que l’utilisation de la mémoire (« Mem ») et la mémoire virtuelle paginée (« Swp ») en Mégaoctects (Mo). La partie droite indique quant à elle le nombre de tâches actives et de threads, l’état de la batterie du système, la durée de fonctionnement du système (« Uptime ») ainsi que la moyenne de la charge système (« Load average ») qui est spécifiée dans les trois valeurs classiques. L’en-tête peut être librement configuré, de sorte que par exemple la valeur moyenne peut être affichée au lieu de l’utilisation individuelle des cœurs du processeur.

La zone principale répertorie tous les processus actifs, avec les valeurs suivantes :

PID Identifiant du processus
USER Utilisateur qui exécute le processus
PRI La priorité du processus
NI Valeur nice du processus (utilisée pour la gestion dynamique des priorités des processus)
VIRT Mémoire virtuelle utilisée par le processus
RES Quantité de mémoire physique utilisée par le processus
SHR Quantité de mémoire réellement partagée (avec d’autres processus)
S Statut du processus, par exemple les valeurs « Z » pour zombie (arrêté) ou « R » pour running (en utilisation)
CPU% Temps de charge du processus en pourcentage (charge CPU)
MEM% Utilisation de la mémoire en pourcentage
TIME+ Temps total d’utilisation du processus depuis son lancement
Command La commande qui initie le processus dont les threads.

Le pied de page d’htop propose plusieurs boutons qui peuvent être sélectionnés en un simple clic de souris ou via les touches de fonction F1 à F10.

Htop : touches de fonction et autres commandes

Alors que le reste de l’outil traite exclusivement des statistiques et du listage des processus, les boutons mentionnés dans la barre en pied de page sont des outils élémentaires pour htop. L’utilisation de la souris ou bien du clavier ne jouent aucun rôle. Cependant si vous utilisez le clavier, vous obtenez alors un certain nombre de commandes importantes et utiles qui dépassent les capacités des touches de fonction présentées et facilite ainsi grandement le maniement du gestionnaire de tâches. Ci-dessous un résumé et la signification des touches de fonction et d’autres raccourcis :

Touches ou combinaisons de touches Alternative(s) Fonctions et significations
[F1] [?] oder [h] Affiche le menu « aide »
[F2] [Shift] + [s] Affiche le menu de configuration
[F3] [/] Fonction de recherche d’un processus
[F4] [\] Fonction de recherche d’un processus par son nom
[F5] [t] Activation ou désactivation de l’arborescence des processus
[F6] [>] Affiche le menu tri (occupation mémoire etc.)
[F7] ] Réduit la valeur nice du processus
[F8] [ Change la valeur nice du processus (priorité du processus)
[F9] [k] Suppression d’une tâche, d’un processus
[F10] [q] ou [Strg] + [c] Pour quitter htop
[espace]   Indique le(s) processus sélectionné(s)
[Shift] + [u]   Surpprime toutes les sélections
[Shift] + [p]   Tri des processus en fonction du CPU (CPU%)
[Shift] + [m]   Tri des processus en fonction de l’utilisation de la mémoire (MEM%)
[Shift] + [t]   Tri des processus en fonction du temps des processus (TIME+)
[u]   Permet de sélectionner un utilisateur spécifique
[Shift] + [k]   Masque les cœurs de threads (du système spécifique)
[Shift] + [h]   Masque les threads utilisateur (spécifique à l’application)
[Shift] + [f]   Adapte le curseur au processus sélectionné

Comment installer htop

Comme avec les programmes open source, vous pouvez installer htop en utilisant soit les fichiers sources, soit les fichiers binaires et le gestionnaire de paquets de chaque distribution. Téléchargez-le tout d’abord. Ensuite, vous pouvez l’installer avec les commandes suivantes :

$ wget https://hisham.hm/htop/releases/2.0.1/htop-2.0.1.tar.gz
$ tar -xzvf htop-2.0.1.tar.gz
$ cd htop-2.0.1./
$ ./configure
$ make
# make install

Cependant, si vous préférez la version avec le gestionnaire de paquets, vous devez d’abord vous assurer que la version actuelle d’htop est incluse dans votre distribution. Si c’est bien le cas, vous pouvez alors procéder au modèle d’installation classique de votre système. Par exemple sous Ubuntu, le gestionnaire de tâches est configuré en entrant la commande suivante :

sudo apt-get install htop

Conclusion : un gestionnaire de tâches clair et facile

htop intègre la commande classique UNIX top comme modèle et séduit surtout par son interface de texte basée sur ncurses. Ainsi les processus individuels et les threads ne sont pas seulement présentés d’une manière agréable et claire, mais le fonctionnement même avec l’utilisation de la souris ou du clavier est bien plus intuitif qu’avec des outils de ligne de commande de base. L’utilisation simple des touches de fonction et des autres commandes simplifient la navigation et la configuration pour stopper des processus ou modifier les priorités. Les alternatives pour les administrateurs expérimentés sont à côté du vieux top, le gestionnaire de processus très similaire atop qui est installé par défaut ainsi que l’outil multiplateforme Glances.