Dans cette leçon, tu vas maîtriser tous les outils de surveillance Linux : CPU, mémoire, disque, processus et services. Indispensable pour diagnostiquer les problèmes.
1. Surveillance CPU
Commande top
top # Vue en temps réel
top -u david # Filtrer par utilisateur
top -p 1234 # Surveiller un processus spécifique
top -1 # Rafraîchir chaque seconde
Le load average indique la charge système sur 1, 5 et 15 minutes.
Load
1 cœur
4 cœurs
Interprétation
1.0
100%
25%
1 processus en cours
4.0
400%
100%
Système à pleine capacité
8.0
800%
200%
Surcharge (processus en attente)
2. Surveillance mémoire
free - Mémoire vive
free # En octets
free -h # Format lisible (Ko, Mo, Go)
free -m # En mégaoctets
free -g # En gigaoctets
free -s 1 # Rafraîchir chaque seconde
Comprendre la sortie
total used free shared buff/cache available
Mem: 8.0Gi 4.1Gi 2.3Gi 150Mi 1.5Gi 3.5Gi
Swap: 2.0Gi 512Mi 1.5Gi
Colonne
Description
total
Mémoire totale
used
Mémoire utilisée (vraiment)
free
Mémoire totally libre
buff/cache
Mémoire pour les buffers/disque
available
Mémoire disponible pour les apps
Swap
Mémoire virtuelle sur disque
Calcul du pourcentage
# Calculer le pourcentage utilisé
free | grep Mem | awk '{printf("%.1f
", $3/$2 * 100)}'
3. Surveillance disque
df - Espace disque
df # En octets
df -h # Format lisible
df -H # FormatIEC (1000 au lieu de 1024)
df -T # Avec type de système de fichiers
df -i # Inodes au lieu de blocs
Analyser l'espace
# Partition la plus pleine
df -h | grep -v tmpfs | sort -k5 -h | tail -5
# Espace par type de filesystem
df -Th | grep -v tmpfs
du - Taille des dossiers
du -sh dossier/ # Taille totale
du -h --max-depth=1 # Sous-dossiers (1 niveau)
du -h --max-depth=2 # Sous-dossiers (2 niveaux)
du -ah dossier/ # Avec fichiers cachés
du -d 1 -h # Profondeur 1
du -sh */ # Tous les sous-dossiers
ps # Basique
ps aux # Tous les utilisateurs
ps -ef # Format étendu
ps -eo pid,ppid,%mem,%cpu,cmd # Colonnes personnalisées
ps --sort=-%cpu | head -10 # Top CPU
ps --sort=-%mem | head -10 # Top mémoire
Rechercher un processus
ps aux | grep firefox # Trouver firefox
pgrep -a firefox # Juste les PIDs
pidof firefox # PID principal
pstree # Vue arborescence
sar -u 1 10 # CPU chaque seconde, 10 fois
sar -r 1 10 # Mémoire
sar -d 1 10 # Disque
sar -n DEV 1 10 # Réseau
9. Scripts de surveillance
Script d'alerte disque
#!/bin/bash
DISK_USAGE=$(df -h / | tail -1 | awk '{print $5}' | sed 's/%//')
if [ $DISK_USAGE -gt 90 ]; then
echo "ALERTE: Disque à ${DISK_USAGE}%" | mail -s "Alerte Disque" admin@email.com
fi
Script d'alerte mémoire
#!/bin/bash
MEM_USAGE=$(free | grep Mem | awk '{printf("%.0f", $3/$2 * 100)}')
if [ $MEM_USAGE -gt 85 ]; then
logger "Alerte: Mémoire à ${MEM_USAGE}%"
fi
Surveillance continue
#!/bin/bash
while true; do
clear
echo "=== $(date) ==="
echo ""
echo "--- CPU ---"
top -bn1 | head -5
echo ""
echo "--- Mémoire ---"
free -h
echo ""
echo "--- Disque ---"
df -h / | tail -1
sleep 5
done
10. Tableau résumé
Commande
Description
top
Surveillance CPU/mémoire temps réel
htop
top avec interface améliorée
free
Mémoire RAM
df
Espace disque
du
Taille dossiers
ps
Liste processus
kill
Terminer processus
ss
Connexions réseau
systemctl
Gérer services
journalctl
Logs systemd
Maîtrise ces outils pour devenir un pro de la supervision Linux ! 📊