« Systemd-cgtop » : différence entre les versions
| (2 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 33 : | Ligne 33 : | ||
=== '''Lancement de base''' === | === '''Lancement de base''' === | ||
<syntaxhighlight lang="bash">sudo systemd-cgtop</syntaxhighlight> | <syntaxhighlight lang="bash" copy>sudo systemd-cgtop</syntaxhighlight> | ||
'''Sortie typique''' : | '''Sortie typique''' : | ||
| Ligne 77 : | Ligne 77 : | ||
Exemple : | Exemple : | ||
<syntaxhighlight lang="bash" copy> | |||
# Trie par CPU, rafraîchit chaque seconde | |||
systemd-cgtop -p -d 1 | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash" copy>sudo systemd-cgtop -d 1 -p -n 5 # Top 5 des cgroups par CPU, rafraîchi chaque seconde</syntaxhighlight> | <syntaxhighlight lang="bash" copy>sudo systemd-cgtop -d 1 -p -n 5 # Top 5 des cgroups par CPU, rafraîchi chaque seconde</syntaxhighlight> | ||
| Ligne 124 : | Ligne 127 : | ||
<syntaxhighlight lang="bash" copy>top -p $(pgrep -d ',' systemd) # Surveiller systemd et ses enfants</syntaxhighlight> | <syntaxhighlight lang="bash" copy>top -p $(pgrep -d ',' systemd) # Surveiller systemd et ses enfants</syntaxhighlight> | ||
<syntaxhighlight lang="bash" copy>top -p $(pgrep -d ',' fail2ban) # Surveiller fail2ban</syntaxhighlight> | |||
== '''6. Conclusion''' == | == '''6. Conclusion''' == | ||
Dernière version du 24 juin 2025 à 21:40
systemd-cgtop : Surveillance des ressources par cgroup sous Linux
1. Introduction
systemd-cgtop est un outil en temps réel permettant de surveiller l’utilisation des ressources (CPU, mémoire, E/S) par les groupes de contrôle (cgroups) sous Linux. Il est particulièrement utile pour analyser l’impact des services gérés par systemd, comme les démons, conteneurs ou applications système.
📌 Comparaison avec d’autres outils :
| Outil | Description | Avantage de systemd-cgtop |
|---|---|---|
top/htop
|
Surveille les processus individuels | Montre l'utilisation par service (cgroup) |
systemctl status
|
Affiche l'état d'un service | Donne des métriques précises (CPU, RAM, E/S) |
journalctl
|
Logs des services | Complémentaire pour diagnostiquer les surcharges |
2. Installation et Lancement
Vérification de la disponibilité
systemd-cgtop est inclus dans systemd (présent par défaut sur la plupart des distributions Linux).
Lancement de base
sudo systemd-cgtop
Sortie typique :
Control Group Tasks %CPU Memory Input/s Output/s /system.slice/nginx.service 5 12.3 45.2M 0B 0B /user.slice/user-1000.slice 18 5.1 512.4M 0B 0B
3. Fonctionnalités Clés
a. Tri interactif
p: Trier par utilisation CPU (%).
m: Trier par utilisation mémoire (MB/GB).
d: Trier par E/S disque.
b. Filtrage
Pour surveiller un service spécifique (ex: fail2ban) :
sudo systemd-cgtop | grep -i fail2ban
c. Options de ligne de commande
| Option | Description |
|---|---|
-n 10
|
Affiche les 10 premiers cgroups |
-d 2
|
Rafraîchit toutes les 2 secondes |
-p
|
Trie par CPU dès le lancement |
--order=memory
|
Trie par mémoire |
Exemple :
# Trie par CPU, rafraîchit chaque seconde
systemd-cgtop -p -d 1
sudo systemd-cgtop -d 1 -p -n 5 # Top 5 des cgroups par CPU, rafraîchi chaque seconde
4. Cas d’Usage Pratiques
a. Identifier un service gourmand
Si le système est lent :
1. Lancez systemd-cgtop -p.
2. Repérez les cgroups avec une %CPU élevée (>20%).
3. Utilisez journalctl -u SERVICE pour analyser les logs.
b. Surveiller un service spécifique
Exemple avec Nginx :
sudo systemd-cgtop | grep -i nginx
Interprétation :
- %CPU = 5.2% → Faible charge.
- Memory = 120.5M → Utilisation mémoire modérée.
c.Comparaison avec systemd-cgls
Pour voir la hiérarchie des cgroups :
sudo systemd-cgls
(Utile pour comprendre l’organisation des processus.)
5. FAQ
Q1 : Pourquoi ne vois-je pas mon service ?
Vérifiez qu’il est actif :
systemctl status MON_SERVICE
Cherchez son nom exact :
systemd-cgls | grep -i MON_SERVICE
Q2 : Comment quitter systemd-cgtop ?
Appuyez sur q ou Ctrl+C.
Q3 : Alternative si systemd-cgtop n’est pas disponible ?
Utilisez :
top -p $(pgrep -d ',' systemd) # Surveiller systemd et ses enfants
top -p $(pgrep -d ',' fail2ban) # Surveiller fail2ban
6. Conclusion
systemd-cgtop est un outil puissant pour :
✅ Diagnostiquer les goulots d’étranglement (CPU, RAM, E/S).
✅ Surveiller finement les services systemd.
✅ Identifier des fuites mémoire ou surcharges.
📌 À retenir :
- Combinez-le avec journalctl pour une analyse complète.
- Utilisez -p/-m pour trier rapidement par CPU/mémoire.
🔗 Voir aussi :
- Documentation officielle de systemd
- man systemd-cgtop