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 :
# 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) :
cargo install bottom
Via un binaire précompilé :
# 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
# Via Homebrew
brew install bottom
# Ou via MacPorts
sudo port install bottom
Windows
# 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 :
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
# 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 :
# Linux/macOS
~/.config/bottom/bottom.toml
# Windows
%APPDATA%\bottom\bottom.toml
Exemple de configuration
# 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 :
# 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
# 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 :