Passer au contenu principal

Administration (Linux)

Performance système

Identifier un goulot d'étranglement sur un serveur requiert de lire les bons indicateurs : CPU, mémoire, I/O disque, charge système. Les outils standard de Debian fournissent une vue complète de l'activité du système.

Charge et CPU

uptime          # charge système (load average 1/5/15 minutes)
nproc           # nombre de coeurs disponibles

Le load average représente le nombre de processus en attente d'exécution. Un load de 1.0 sur 1 coeur signifie une charge pleine. Sur 4 coeurs, un load de 4.0 est normal ; 8.0 indique une surcharge.

top             # vue dynamique (CPU, mémoire, processus)
htop            # version améliorée avec navigation interactive
apt install htop

Mémoire

free -h         # RAM et swap (human-readable)
vmstat 1 5      # statistiques système toutes les 1s, 5 fois

Colonnes clés de vmstat :

  • r : processus en attente CPU (run queue)
  • b : processus bloqués en attente I/O
  • si / so : swap in/out (si non nul, problème de RAM)
  • bi / bo : blocs lus/écrits sur disque
  • wa : pourcentage CPU en attente I/O (iowait)

I/O disque : iostat et iotop

apt install sysstat iotop

iostat -x 1 5   # statistiques I/O étendues, toutes les 1s, 5 fois
iotop           # processus classés par activité I/O

Colonnes importantes de iostat -x :

  • %util : taux d'utilisation du disque (proche de 100% = saturation)
  • await : temps moyen d'attente des requêtes I/O (ms)
  • r/s, w/s : requêtes de lecture/écriture par seconde
  • rkB/s, wkB/s : débit en kB/s

Résumé des outils

  • uptime / top / htop : charge CPU et processus
  • free : utilisation mémoire et swap
  • vmstat : vue d'ensemble CPU/mémoire/I/O en temps réel
  • iostat : I/O disque par périphérique
  • iotop : processus les plus gourmands en I/O

En pratique

Face à un serveur qui rame, la séquence de diagnostic : uptime pour voir le load average, top ou htop pour identifier le processus responsable, vmstat 1 pour confirmer si c'est de l'iowait (colonne wa élevée) ou du CPU pur. Si c'est de l'I/O, iostat -x 1 identifie le disque saturé et iotop le processus responsable. Si la mémoire est en cause, free -h combiné à vmstat avec si/so non nuls signale un swapping actif : le serveur est sous-dimensionné en RAM.