Aller au contenu
Outils medium

htop : moniteur de processus interactif pour Linux

18 min de lecture

Ce guide vous permet de maîtriser htop pour surveiller efficacement vos processus Linux. Vous apprendrez à naviguer dans l’interface, utiliser les raccourcis clavier, personnaliser l’affichage et exploiter les nouvelles fonctionnalités de la version 3.4 (monitoring GPU, colonnes conteneurs). Prérequis : accès terminal sur Linux, macOS ou WSL.

htop est un moniteur de processus interactif créé en 2004 par Hisham Muhammad. Il remplace avantageusement la commande top présente sur tous les systèmes Unix depuis les années 1980.

Là où top affiche une liste statique rafraîchie périodiquement, htop propose une expérience interactive moderne : vous pouvez naviguer avec les flèches ou la souris, filtrer en temps réel, trier par n’importe quelle colonne et agir directement sur les processus sans quitter l’interface.

Le projet est maintenu activement par la communauté open source depuis 2020 sur GitHub, avec des releases régulières apportant de nouvelles fonctionnalités.

Si vous utilisez encore top par habitude, voici ce que htop apporte concrètement :

  • Navigation visuelle : au lieu de taper des commandes cryptiques, vous naviguez avec les flèches et agissez avec les touches de fonction
  • Couleurs significatives : chaque couleur a un sens (vert = processus utilisateur, rouge = kernel, bleu = basse priorité)
  • Filtrage instantané : tapez F4 puis un nom, seuls les processus correspondants s’affichent
  • Actions groupées : marquez plusieurs processus avec Space puis tuez-les tous en une fois avec F9

Le tableau suivant résume les différences fonctionnelles :

Fonctionnalitétophtop
Interface coloréeNonOui
Navigation sourisNonOui
Scroll horizontal/verticalNonOui
Filtrage en temps réelNonOui (F4)
Vue arborescenteLimitéComplète (F5)
Kill multiple processusNonOui (Space + F9)
Personnalisation colonnesNonOui (F2)

La version 3.4.0, publiée le 10 mars 2025 sur GitHub, apporte des fonctionnalités attendues depuis longtemps par les administrateurs système.

htop peut désormais afficher l’utilisation des GPU NVIDIA et AMD directement dans l’interface. Cette fonctionnalité, demandée depuis 2021 via l’issue #406, permet enfin de surveiller les workloads GPU (machine learning, rendu 3D) sans installer d’outils supplémentaires comme nvidia-smi.

Pour activer le GPU Meter, appuyez sur F2 (Setup), allez dans Meters, puis ajoutez GPU usage depuis la liste des meters disponibles. Vous pouvez également ajouter la colonne GPU_TIME ou GPU_PERCENT pour voir la consommation GPU par processus.

Le changelog officiel liste également :

  • Métriques mémoire compressée : les meters Memory et Swap affichent désormais les métriques zswap/zram, utiles pour comprendre la compression mémoire sur Linux
  • IRQ PSI Meter : nouveau meter pour surveiller la pression I/O sur les interruptions, disponible sur Linux et PCP
  • Support des politiques de scheduling : affichage des politiques temps réel SCHED_FIFO et SCHED_RR
  • Unicode amélioré : les colonnes CGROUP, CCGROUP, CONTAINER et SECATTR supportent désormais correctement les caractères Unicode

htop offre plusieurs colonnes pour surveiller les processus dans des environnements conteneurisés (Docker, Podman, LXC, systemd-nspawn). Ces colonnes ont été ajoutées progressivement dans différentes versions.

Quatre colonnes permettent d’identifier l’appartenance d’un processus à un conteneur :

ColonneDepuisDescription
CGROUP3.0Chemin complet du cgroup (ex: /docker/abc123.../init.scope)
CCGROUP3.1.2Cgroup condensé, extrait le nom essentiel (ex: docker:abc123def456)
CONTAINER3.3.0Nom du conteneur par heuristiques (ex: my-nginx)
ISCONTAINER3.3.0Indique si le processus tourne dans un conteneur enfant (booléen)

La colonne CONTAINER est la plus pratique car elle affiche directement le nom lisible du conteneur Docker ou Podman, au lieu d’un identifiant cryptique. htop utilise des heuristiques pour extraire ce nom depuis le chemin cgroup et les informations système.

  1. Ouvrir la configuration

    Lancez htop et appuyez sur F2 pour ouvrir le menu Setup.

  2. Accéder aux colonnes

    Dans le menu de gauche, sélectionnez Columns puis validez avec Entrée.

  3. Ajouter la colonne CONTAINER

    Dans la liste “Available Columns” à droite, descendez jusqu’à CONTAINER et appuyez sur F5 pour l’ajouter aux colonnes actives.

  4. Positionner la colonne

    Utilisez F7/F8 pour déplacer la colonne à l’emplacement souhaité dans la liste “Active Columns”.

  5. Sauvegarder et quitter

    Appuyez sur F10 pour sauvegarder. La colonne sera persistante dans votre fichier ~/.config/htop/htoprc.

Une fois la colonne CONTAINER visible, vous pouvez filtrer pour n’afficher que les processus d’un conteneur spécifique :

  1. Appuyez sur F4 (Filter)
  2. Tapez le nom du conteneur (ex: nginx)
  3. Seuls les processus de ce conteneur s’affichent

Pour combiner avec la vue arborescente, appuyez sur F5 après le filtrage : vous verrez la hiérarchie des processus à l’intérieur du conteneur.

htop est disponible dans les dépôts officiels de toutes les distributions majeures. L’installation prend quelques secondes.

Sur les systèmes Debian et dérivés (Ubuntu, Linux Mint), htop est dans les dépôts main :

Fenêtre de terminal
sudo apt update && sudo apt install htop

Vérification de l’installation :

Fenêtre de terminal
htop --version

Vous devriez voir la version installée. Pour bénéficier des fonctionnalités GPU et conteneurs, assurez-vous d’avoir au minimum la version 3.4.0 :

htop 3.4.1

Quand vous lancez htop, l’écran se divise en trois zones distinctes, chacune avec un rôle précis. Comprendre cette organisation vous permettra d’interpréter rapidement l’état de votre système.

Interface htop avec les trois zones : métriques, processus et actions

La partie haute de l’écran présente une vue synthétique des ressources matérielles. Par défaut, vous voyez les barres CPU, mémoire et swap, mais cette zone est entièrement personnalisable via F2.

Les barres CPU affichent une barre par cœur logique. Les couleurs ont une signification précise :

  • Vert : temps passé en mode utilisateur (vos applications)
  • Rouge : temps passé en mode kernel (système d’exploitation)
  • Bleu : temps passé sur des processus à basse priorité (nice > 0)
  • Jaune/Orange : temps d’attente I/O (le CPU attend les disques)

La barre mémoire montre la RAM utilisée. Attention : sur Linux, la mémoire “utilisée” inclut les buffers et le cache, ce qui est normal. Une barre pleine ne signifie pas forcément un problème.

Le load average (charge moyenne) indique combien de processus attendent du temps CPU. Un load de 1.0 sur une machine mono-cœur signifie que le CPU est utilisé à 100%. Sur une machine 8 cœurs, un load de 8.0 correspond à 100%.

C’est le cœur de htop. Chaque ligne représente un processus (ou un thread si vous affichez les threads avec H). Les colonnes par défaut sont :

  • PID : l’identifiant unique du processus, attribué par le kernel. Utile pour les commandes kill ou strace
  • USER : le propriétaire du processus. Un processus appartenant à root a plus de privilèges
  • PRI (Priority) : la priorité système, de 0 (plus haute) à 39. Gérée par le kernel
  • NI (Nice) : la “gentillesse” du processus, de -20 (égoïste) à +19 (altruiste). Vous pouvez la modifier avec F7/F8
  • VIRT : mémoire virtuelle totale allouée (inclut les mappings, pas forcément en RAM)
  • RES (Resident) : mémoire réellement utilisée en RAM. C’est la métrique la plus pertinente
  • SHR (Shared) : portion de RES partagée avec d’autres processus (bibliothèques, etc.)
  • S (State) : état du processus :
    • R = Running (en cours d’exécution)
    • S = Sleeping (en attente d’un événement)
    • D = Disk sleep (attente I/O, non interruptible)
    • Z = Zombie (terminé mais pas encore nettoyé par le parent)
    • T = Stopped (suspendu)
  • %CPU et %MEM : pourcentages d’utilisation. Peuvent dépasser 100% sur les systèmes multi-cœurs
  • TIME+ : temps CPU total consommé depuis le démarrage du processus
  • Command : la commande exécutée. Appuyez sur p pour voir le chemin complet

En bas de l’écran, une barre rappelle les touches de fonction disponibles :

F1 Help F2 Setup F3 Search F4 Filter F5 Tree F6 SortBy F7 Nice- F8 Nice+ F9 Kill F10 Quit

Cette barre est interactive : vous pouvez cliquer sur chaque élément avec la souris.

htop se manipule entièrement au clavier. Voici les raccourcis les plus utiles, organisés par catégorie.

Pour vous déplacer efficacement dans une longue liste de processus :

  • ↑ / ↓ : sélectionner le processus précédent/suivant
  • PgUp / PgDn : défiler d’un écran entier
  • Home / End : aller au premier/dernier processus
  • ← / → : faire défiler les colonnes horizontalement (utile quand la ligne Command est longue)

La différence entre recherche et filtrage est importante :

  • F3 ou / : recherche — surligne les processus correspondants, mais affiche toujours tous les processus. Appuyez à nouveau sur F3 pour passer au résultat suivant.
  • F4 ou \ : filtre — masque tous les processus qui ne correspondent pas. Beaucoup plus puissant pour isoler une application.

Par exemple, pour voir uniquement les processus liés à nginx, appuyez sur F4, tapez nginx, et seuls ces processus seront visibles. Appuyez sur Esc pour annuler le filtre.

Une fois un processus sélectionné, vous pouvez agir dessus :

  • F9 ou k : envoyer un signal (kill). Un menu propose différents signaux :
    • SIGTERM (15) : demande polie de terminer (par défaut)
    • SIGKILL (9) : termination forcée, à utiliser en dernier recours
    • SIGSTOP (19) : suspendre le processus
    • SIGCONT (18) : reprendre un processus suspendu
  • F7 / F8 : diminuer/augmenter la valeur nice. Utile pour réduire la priorité d’un processus gourmand sans le tuer
  • Space : marquer le processus. Vous pouvez marquer plusieurs processus puis leur appliquer une action commune
  • F5 ou t : basculer en vue arborescente, montrant les relations parent/enfant. Indispensable pour comprendre qui a lancé quoi
  • F6 ou > : ouvrir le menu de tri. Vous pouvez aussi cliquer sur un en-tête de colonne
  • P : trier par %CPU (raccourci rapide)
  • M : trier par %MEM (raccourci rapide)
  • T : trier par TIME+
  • I : inverser l’ordre de tri
  • H : masquer/afficher les threads utilisateur
  • K : masquer/afficher les threads kernel (souvent inutiles pour le diagnostic)
  • u : filtrer par utilisateur (un menu propose la liste des utilisateurs)
  • p : afficher le chemin complet des commandes au lieu du nom court

htop est hautement configurable. Toutes les modifications sont sauvegardées dans ~/.config/htop/htoprc.

  1. Ouvrir le menu Setup

    Appuyez sur F2 pour accéder à la configuration. Le menu de gauche propose quatre sections : Meters, Columns, Display options, et Colors.

  2. Personnaliser les colonnes

    Dans Columns, vous contrôlez quelles informations apparaissent pour chaque processus. Utilisez les flèches pour naviguer, Space pour ajouter/retirer une colonne, et F7/F8 pour réorganiser l’ordre.

    Voici une configuration recommandée pour le monitoring de conteneurs :

    PID | USER | %CPU | %MEM | VIRT | RES | S | TIME+ | CONTAINER | Command
  3. Configurer les meters

    Dans Meters, vous personnalisez la zone supérieure. Deux colonnes sont disponibles (gauche et droite). Ajoutez le GPU Meter si vous avez un GPU, ou le NetworkIO Meter pour surveiller le trafic réseau.

    Les styles disponibles sont : Bar (barre graphique), Text (valeurs numériques), Graph (historique), LED (indicateurs colorés).

  4. Ajuster les options d’affichage

    Dans Display options, cochez les options qui vous conviennent :

    • Tree view by default : démarrer en mode arborescent
    • Show program path : afficher /usr/bin/nginx au lieu de nginx
    • Hide kernel threads : masquer les threads système (recommandé)
    • Highlight changes : mettre en évidence les valeurs qui changent
    • Update process names on every refresh : utile si des processus changent de nom
  5. Sauvegarder et quitter

    Appuyez sur F10 pour quitter le menu Setup. La configuration est automatiquement sauvegardée.

Pour vérifier ou modifier manuellement la configuration :

Fenêtre de terminal
cat ~/.config/htop/htoprc

htop accepte plusieurs options pour personnaliser son comportement au démarrage. Utile pour les scripts ou les raccourcis.

Fenêtre de terminal
# Démarrer sans couleurs (pour rediriger vers un fichier ou un pager)
htop -C
# Filtrer par utilisateur dès le démarrage
htop -u www-data
# Surveiller des PID spécifiques uniquement
htop -p 1234,5678,9012
# Démarrer directement en vue arborescente
htop -t
# Trier par mémoire au démarrage
htop -s PERCENT_MEM
# Masquer les threads utilisateur
htop -H

Pour voir toutes les colonnes disponibles pour le tri :

Fenêtre de terminal
htop --sort-key=help

Quand votre serveur devient lent, htop vous aide à identifier rapidement le coupable.

  1. Lancez htop

  2. Appuyez sur P pour trier par consommation CPU décroissante

  3. Observez les premiers processus : celui en haut consomme le plus de CPU

  4. Si c’est un processus attendu (compilation, traitement), vous pouvez réduire sa priorité avec F8 pour libérer des ressources pour les autres

  5. Si c’est un processus anormal, notez son PID et investiguez avec strace -p PID ou lsof -p PID

Parfois, une application lance plusieurs processus qu’il faut tous arrêter.

  1. Appuyez sur F4 et tapez le nom de l’application (ex: firefox)

  2. Seuls les processus correspondants s’affichent

  3. Appuyez sur Space sur chaque processus pour les marquer (une couleur différente les identifie)

  4. Appuyez sur F9, sélectionnez SIGTERM (15), puis Enter

  5. Tous les processus marqués reçoivent le signal

Depuis htop 3.4, vous pouvez voir directement à quel conteneur appartient chaque processus.

  1. Appuyez sur F2 pour ouvrir le Setup

  2. Allez dans Columns et ajoutez CONTAINER

  3. Quittez avec F10

  4. Appuyez sur F4 et tapez le nom de votre conteneur

  5. Seuls les processus de ce conteneur s’affichent

Si vous avez un GPU NVIDIA ou AMD et htop 3.4+, vous pouvez surveiller son utilisation.

  1. Appuyez sur F2 pour ouvrir le Setup

  2. Allez dans Meters

  3. Naviguez jusqu’à Available meters et trouvez GPU usage

  4. Appuyez sur Enter pour l’ajouter à la colonne de gauche

  5. Quittez avec F10 et observez le nouveau meter

Quand htop ne se comporte pas comme prévu, voici les solutions aux problèmes courants.

SymptômeCause probableSolution
Pas de couleursVariable TERM incorrecteExportez TERM=xterm-256color dans votre .bashrc
htop 3.4 non disponibleVersion du dépôt trop ancienneCompilez depuis source ou utilisez Homebrew
GPU Meter absentGPU non détecté ou drivers manquantsVérifiez que nvidia-smi ou amdgpu fonctionne
Configuration non sauvegardéeProblème de permissionsVérifiez avec ls -la ~/.config/htop/ et corrigez avec chmod 700
Processus invisibleFiltre actif oubliéAppuyez sur F4 puis Esc pour réinitialiser
Erreur “Cannot open /proc”Permissions insuffisantesLancez avec sudo htop pour voir tous les processus
  • htop remplace avantageusement top avec une interface intuitive et des fonctionnalités avancées
  • Les raccourcis clavier essentiels : F3 recherche, F4 filtre, F5 arborescence, F6 tri, F9 kill
  • La personnalisation via F2 permet d’adapter l’affichage à vos besoins spécifiques
  • htop 3.4 (mars 2025) apporte le monitoring GPU natif et les noms de conteneurs Docker/Podman
  • La configuration est stockée dans ~/.config/htop/htoprc et persiste entre les sessions

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.