Perf network
| Fiche express | |
|---|---|
| Domaine | Débit réseau en temps réel, sans outil externe |
| Source | /sys/class/net/<iface>/statistics/
|
| Alternatives modernes | sar -n DEV, ip -s link, iftop, nload
|
| Voir aussi | Vmstat · Iostat · Bash |
Petit script affichant en temps réel le débit d'entrée et de sortie d'une interface réseau, en lisant directement les compteurs exposés par le noyau sous /sys/class/net/ — utile sur une machine minimale où aucun outil de supervision réseau (iftop, nload, sar) n'est installé.
Script
#!/bin/bash
if [ -z "$1" ]; then
echo
echo "usage: $0 interface-reseau"
echo
echo "ex: $0 eth0"
echo
exit 1
fi
IF=$1
while true; do
R1=$(cat "/sys/class/net/$IF/statistics/rx_bytes")
T1=$(cat "/sys/class/net/$IF/statistics/tx_bytes")
sleep 1
R2=$(cat "/sys/class/net/$IF/statistics/rx_bytes")
T2=$(cat "/sys/class/net/$IF/statistics/tx_bytes")
RKBPS=$(( (R2 - R1) / 1024 ))
TKBPS=$(( (T2 - T1) / 1024 ))
echo "$IF : rx ${RKBPS} kB/s, tx ${TKBPS} kB/s"
done
Différence avec le script d'origine : le calcul utilisait expr (relance un processus externe à chaque itération) — remplacé ici par l'arithmétique intégrée $(( )), plus rapide et sans dépendance externe.
Principe
Le noyau Linux expose pour chaque interface un compteur d'octets cumulés depuis son activation (ou depuis le dernier redémarrage) dans /sys/class/net/<iface>/statistics/rx_bytes et tx_bytes. Ce ne sont pas des débits mais des compteurs cumulatifs : le script calcule le débit en mesurant la différence entre deux lectures espacées d'une seconde.
Quand préférer un outil existant
Ce script reste une solution de dépannage sans dépendance. Sur une machine où c'est possible, des outils dédiés donnent plus d'information pour un effort équivalent :
sar -n DEV 1(paquetsysstat) — historique, plusieurs interfaces à la fois, intégré à la supervision système classique ; voir aussi Vmstat et Iostat pour la même famille d'outils côté CPU/disque.ip -s link show dev eth0— compteurs cumulés incluant erreurs et paquets perdus, sans installation supplémentaire (iproute2est présent par défaut).iftop/nload— affichage interactif temps réel, éventuellement par connexion pouriftop.
Source
Technique initialement publiée sur https://wiki.vinz92.com/index.php/Performances_r%C3%A9seau_sous_linux.