Wie kann ich mithilfe der integrierten Linux-Tools die aktuelle Bandbreitennutzung über die Befehlszeile abrufen?

11

Ich suche nach einer guten Möglichkeit, die aktuelle Gesamtbandbreitennutzung auf einem Linux-Computer zu ermitteln. Ich habe es versucht iftop, nethogsaber sie zeigen keine echte Bandbreitennutzung im Vergleich zum Systemmonitor. Sie entsprechen nicht den Anforderungen meines Projekts. Ich möchte einen Befehl, den ich ausführe und der die aktuelle Verwendung zum Hoch- und Herunterladen zurückgibt, und sonst nichts.

Ich würde es auch gerne mit nativen Linux-Tools machen, ohne etwas zu installieren. Tatsächlich erstelle ich eine Überwachungsanwendung, und ich möchte, dass sie Computer überwachen kann, ohne dass auf jedem Computer, den der Benutzer überwachen möchte, etwas installiert werden muss. Das wäre großartig!

Xsmael
quelle
Sehr ähnliche Frage: superuser.com/questions/328702/...
mrucci

Antworten:

5

Verwenden Sie iptraf- http://www.linuxcommand.org/man_pages/iptraf8.html

Es ist ein auf ncurses basierendes Befehlszeilenprogramm, mit dem Sie Statistiken zu allen Schnittstellen auf dem Computer erhalten können - einschließlich der Bandbreitennutzung.

Andrew
quelle
1
nicht eingebautes Werkzeug
Nicolas Thery
2

Es gibt eine Menge von Tools , die Sie verwenden können: nload, bmon, iftop, vnstat, ifstat... und wenn Sie wollen nur einen bestimmten Teil ihrer Ausgabe erhalten (zum Beispiel Upload und Download), ich bin mir ziemlich sicher , dass Sie grep/ cut/ awkder Ausgang damit es für dich funktioniert.

18 Befehle zum Überwachen der Netzwerkbandbreite auf dem Linux-Server

jimm-cl
quelle
bmonarbeitete für mich in Ubuntu und gab mir die aktuellen TX- und RX-Werte aller Schnittstellen sowie eine einfache Grafik der letzten 60 Sekunden.
Leopoldo Sanczyk
1
nicht eingebautes Werkzeug
Nicolas Thery
2

sysstat sammelt auch Netzwerkstast. Wenn Sie einen "man sar" machen, sehen Sie alle Ressourcen, für die Sie historische Daten aufbewahren können.

Richten Sie es ein, indem Sie den Befehl "/ usr / lib / sa / sa1" (oder / usr / lib64 / sa / sa1) in cron eingeben und jedes Mal ausführen lassen, wenn Sie einen Datenpunkt wünschen (z. B. alle 5 Minuten).

Dann können Sie "sar" verwenden, um Ihre Daten anzuzeigen. Standard ist heute. Sie können auch historische Daten für bis zu 30 Tage anzeigen. Sie können Ihre Daten auch archivieren, um sie für immer zu behalten (die Daten eines jeden Tages sind ca. 8 MB groß).

Für die Vernetzung würden Sie "sar-n" verwenden.

Wunderbares Werkzeug :)

Ein Beispiel:

 testlinux:~ # sar -n DEV | head -10
 Linux 2.6.16.60-0.21-default (pCITFileSvr01)    11/07/10

 00:00:01        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
 00:05:01           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
 00:05:01         eth0      9.95      0.12      1.42      0.02      0.00      0.00      0.00
 00:10:01           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
 00:10:01         eth0     10.20      0.04      1.44      0.00      0.00      0.00      0.00
 00:15:01           lo      0.00      0.00      0.00      0.00      0.00       0.00      0.00
 00:15:01         eth0     10.32      0.12      1.50      0.02      0.00      0.00      0.00
 00:20:01           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
 testlinux:~ #
ben
quelle
1
nicht eingebautes Werkzeug
Nicolas Thery