Es sind viele Tools verfügbar, obwohl Sie ein Netzwerküberwachungssystem installieren müssen, um Informationen zur Bandbreite pro Prozess zu erhalten.
In der Reihenfolge der einfachen Einrichtung:
Ein einfaches Paket, das nicht viel Einrichtung erfordert, ist iftop. Dies zeigt Ihnen die Bandbreite pro Prozess. Das ist wahrscheinlich das, was Sie wollen, wenn Sie eine einfache Echtzeitlösung wollen.
- Um nur die Bandbreite pro Schnittstelle zu erhalten,
bwm-ng
ist ein kleines Paket, das Ihnen die Nutzung pro Schnittstelle in Echtzeit anzeigt. netstat
listet Ihre offenen Verbindungen auf und sollte auf den meisten Systemen bereits vorhanden sein- ntop ist ein sehr nützliches Tool für die Systemüberwachung, das auch TCP-Verbindungen pro Prozess überwachen kann, WENN Sie ein Kernelmodul zur Unterstützung der Netzwerküberwachung installieren.
- Gacti, Nagios, ntop und Ganglia sind mehrere schwere Systeme, die Netzwerküberwachung pro Host/System/Dienst/Protokoll/usw. durchführen können, je nach Konfiguration für einen Server bis hin zu einem gesamten Unternehmensnetzwerk. Siehe MediaWiki-Serverüberwachung für ein reales Beispiel von
ganglia
in Aktion.
Kontinuierliche Abfrage in Echtzeit in 5-Sekunden-Intervallen mit nativem Netstat
netstat --interfaces=eth0 -c 5
Kernel-Schnittstellentabelle
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 601670041 0 0 0 290653338 0 0 0 BMRU
eth0 1500 0 601796657 0 0 0 290721761 0 0 0 BMRU
Mit awk können Sie einfach ein bestimmtes Feld beobachten, das Sie interessiert. Im folgenden Beispiel sehen Sie nur 2 RX- und TX-Spalten, die zeigen, wie viele Pakete empfangen oder fehlerfrei gesendet wurden (RX-OK/TX-OK)
netstat --interfaces=eth0 -c 5 |awk '{ print $4 "\t" $8 }'
RX-OK TX-OK
605142559 292429624
605142595 292429661
Es gibt ein einfaches Paket namens nethogs , das die von einzelnen Prozessen verwendete Bandbreite anzeigt und die Liste so sortiert, dass die intensivsten Prozesse ganz oben stehen.
# Ubuntu or Debian
$ sudo apt install nethogs
# Fedora or CentOS
$ sudo yum install nethogs -y