Dans le développement quotidien et l'administration de serveurs, surveiller en temps réel l'utilisation des ressources système est une tâche indispensable. Bien que htop et top soient des outils classiques de monitoring, nous allons aujourd'hui vous présenter une alternative plus moderne : Bottom (btm).

Qu'est-ce que Bottom ?

Bottom (appelé btm en ligne de commande) est un moniteur système/processus graphique multiplateau écrit en langage Rust. Il fonctionne sous Linux, macOS et Windows, et s'inspire de gtop, gotop et htop, mais avec des fonctionnalités plus riches et une interface plus esthétique.

Principales fonctionnalités

  • 🦀 Écrit en Rust - Sécurité mémoire, haute performance, faible consommation de ressources
  • 🖥️ Support multiplateau - Couverture complète Linux, macOS, Windows
  • 📊 Graphiques visuels - Courbes en temps réel pour CPU, mémoire et réseau
  • 🎨 Hautement personnalisable - Mise en page, couleurs et filtres personnalisables
  • ⌨️ Raccourcis intuitifs - Navigation au clavier style vim, prise en main rapide
  • 🔍 Recherche puissante - Filtrage et localisation rapide des processus
  • 📈 Données historiques - Visualisation des tendances d'utilisation des ressources

Méthodes d'installation

Linux

Via le gestionnaire de paquets :

BASH
# Ubuntu/Debian
sudo apt install bottom

# Fedora/RHEL
sudo dnf install bottom

# Arch Linux
sudo pacman -S bottom

# openSUSE
sudo zypper install bottom

Via Cargo (version recommandée) :

BASH
cargo install bottom

Via un binaire précompilé :

BASH
# Télécharger la dernière version
wget https://github.com/ClementTsang/bottom/releases/latest/download/bottom_x86_64-unknown-linux-gnu.tar.gz
tar -xzf bottom_x86_64-unknown-linux-gnu.tar.gz
sudo mv btm /usr/local/bin/

macOS

BASH
# Via Homebrew
brew install bottom

# Ou via MacPorts
sudo port install bottom

Windows

POWERSHELL
# Via Chocolatey
choco install bottom

# Ou via Scoop
scoop install bottom

# Ou via winget
winget install ClementTsang.bottom

Prise en main rapide

Utilisation de base

Après l'installation, il suffit de lancer dans le terminal :

BASH
btm

L'interface complète de monitoring système s'affiche alors.

Raccourcis clavier courants

Bottom utilise un mode de navigation au clavier de type vim :

Raccourci Fonction
? ou h Ouvrir le menu d'aide
q Quitter le programme
g Aller en haut
G Aller en bas
/ Rechercher un processus
dd Tuer le processus sélectionné
Tab Basculer entre les différentes fenêtres
Clic souris Sélectionner directement une fenêtre

Paramètres en ligne de commande

BASH
# Intervalle de rafraîchissement (millisecondes)
btm --rate 2000

# Afficher le widget CPU par défaut
btm --default_widget_type cpu

# Masquer les informations batterie
btm --hide_avg_cpu

# Utiliser un fichier de configuration personnalisé
btm --config /path/to/config.toml

# Afficher l'aide complète
btm --help

Personnalisation de la configuration

Bottom permet une personnalisation approfondie via un fichier de configuration. Emplacement du fichier :

BASH
# Linux/macOS
~/.config/bottom/bottom.toml

# Windows
%APPDATA%\bottom\bottom.toml

Exemple de configuration

TOML
# Intervalle de rafraîchissement (millisecondes)
rate = 2000

# Mise en page des widgets par défaut
[[row]]
  [[row.widget]]
    type = "cpu"
  [[row.widget]]
    type = "memory"

[[row]]
  [[row.widget]]
    type = "network"
  [[row.widget]]
    type = "process"

# Thème de couleurs
[colors]
  table_header_color = "#00d7ff"
  cpu_core_colors = ["#ff5555", "#50fa7b", "#f1fa8c"]

# Filtre de processus
[flags]
  hide_kernel_threads = true
  show_cpu_cores = true

Comparaison avec htop

Fonctionnalité Bottom (btm) htop
Langage Rust C
Multiplateau ✅ Linux/macOS/Windows ⚠️ Principalement Linux/Unix
Graphiques visuels ✅ Intégrés ❌ Configuration supplémentaire nécessaire
Données historiques ✅ Pris en charge ❌ Temps réel uniquement
Flexibilité de configuration ✅ Configuration TOML ⚠️ Limitée
Consommation de ressources Faible Faible
Activité communautaire 🔥 Croissance rapide Stable

Cas d'utilisation concrets

1. Monitoring de performance serveur

En exécutant btm sur un serveur distant, vous pouvez visualiser facilement : - La répartition de la charge sur chaque cœur du CPU - L'utilisation de la mémoire et de l'espace swap - Le trafic en temps réel des interfaces réseau - Les vitesses de lecture/écriture disque (I/O)

2. Débogage d'environnement de développement

Lors de l'exécution d'applications gourmandes en ressources, btm permet d'identifier rapidement : - Quel processus consomme le plus de CPU - Les processus suspects de fuite mémoire - Les anomalies de connexion réseau

3. Analyse d'optimisation système

Grâce aux graphiques de données historiques, vous pouvez analyser : - Les heures de pointe d'utilisation des ressources - Les tendances d'utilisation sur le long terme - L'efficacité des mesures d'optimisation

Astuces avancées

Mise en page personnalisée des widgets

Bottom vous permet de personnaliser entièrement la disposition de l'interface pour créer le panneau de monitoring le plus adapté à votre flux de travail :

TOML
# Mise en page axée sur CPU et processus
[[row]]
  [[row.widget]]
    type = "cpu"
    ratio = 2
  [[row.widget]]
    type = "process"
    ratio = 3

Filtrage et recherche de processus

Appuyez sur / pour ouvrir la barre de recherche, qui prend en charge les expressions régulières :

# Rechercher un processus spécifique
python

# Avec une expression régulière
^node.*

# Filtrer par utilisateur spécifique
user:kevin

Monitoring de cœurs CPU spécifiques

BASH
# Afficher uniquement les cœurs CPU spécifiés
btm --cpu_core 0 --cpu_core 1

Conclusion

Bottom (btm), grâce à ses performances apportées par Rust, son support multiplateau, ses riches fonctionnalités de visualisation et sa grande personnalisation, s'impose comme une alternative sérieuse à htop.

Que vous soyez administrateur système, ingénieur DevOps ou développeur, btm vous offre une expérience de monitoring des ressources système intuitive et efficace. Et surtout, il est entièrement open source et gratuit, avec une communauté active et des mises à jour régulières.

Essayez dès maintenant : rendez-vous sur le répertoire GitHub pour commencer votre expérience de monitoring système moderne !


Liens de référence :