« Systemd-cgtop » : différence entre les versions
| Ligne 111 : | Ligne 111 : | ||
<ul> | <ul> | ||
<li><p>Vérifiez qu’il est actif :</p> | <li><p>Vérifiez qu’il est actif :</p> | ||
<syntaxhighlight lang="bash">systemctl status MON_SERVICE</syntaxhighlight></li> | <syntaxhighlight lang="bash" copy>systemctl status MON_SERVICE</syntaxhighlight></li> | ||
<li><p>Cherchez son nom exact :</p> | <li><p>Cherchez son nom exact :</p> | ||
<syntaxhighlight lang="bash">systemd-cgls | grep -i MON_SERVICE</syntaxhighlight></li></ul> | <syntaxhighlight lang="bash" copy>systemd-cgls | grep -i MON_SERVICE</syntaxhighlight></li></ul> | ||
=== '''Q2 : Comment quitter <code>systemd-cgtop</code> ?''' === | === '''Q2 : Comment quitter <code>systemd-cgtop</code> ?''' === | ||
Version du 24 juin 2025 à 21:36
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 :
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
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