web-dev-qa-db-fra.com

Il existe un moyen de déterminer quelle application utilise le plus de bande passante sous Linux?

Je cherche un utilitaire qui pourrait me montrer la quantité de bande passante utilisée par chaque processus. Il devrait simplement imprimer les données et quitter car je veux alimenter cette liste avec conky.

56
vava

Vous pouvez essayer NetHogs .

NetHogs est un petit outil "top net". Au lieu de répartir le trafic par protocole ou par sous-réseau, comme le font la plupart des outils, , il regroupe la bande passante par processus . NetHogs ne compte pas sur un module de noyau spécial pour être chargé. S'il y a soudainement beaucoup de trafic réseau, vous pouvez lancer NetHogs et voir immédiatement quel PID est la cause. Cela facilite l'identification des programmes qui se sont déchaînés et qui prennent subitement votre bande passante.

NetHogs_Screenshot

71
Milde

Il y en a pas mal listés ici .

Mes favoris restent cependant iftop et tcpdump . Wireshark est également une très bonne option.

6
BinaryMisfit

Essayez atop ... pour en tirer le meilleur parti, vous devrez peut-être activer certains correctifs supplémentaires du noyau (correctifs de comptabilisation E/S).

Si atop n'est pas une option, utilisez netstat -anp --inet (en tant que root) pour fournir une liste des ports TCP/UDP utilisés par quels processus (ou éventuellement, utilisez lsof pour cela). À partir de là, parcourez simplement chaque processus qui contient un socket ouvert et associez-le à l'aide de ltrace -S ou strace pour examiner les lectures, écritures, envois et réceptions, ou utilisez tcpdump avec un filtre spécifiant votre adresse IP locale et le protocole TCP./Ports UDP répertoriés.

atop est certainement le plus pratique de ceux-ci ... si vous l'avez installé et si le support de noyau nécessaire est installé. Dans le passé, des clients et des employeurs avaient mis en place des systèmes spéciaux (différents de leurs images de production) dans le seul but de prendre en charge le profilage d'E/S à l'aide de atop. Cependant, ces autres techniques vous y mèneront.

Je suis sûr que nous pourrions également utiliser quelque chose à l'aide de SystemTap ... mais je ne connais aucune recette précuite facile à utiliser pour cela. SystemTap est vraiment un outil d'analyse de programmation.

5
Jim Dennis