Ich muss die Netzwerknutzung auf einer bestimmten Schnittstelle während einer bestimmten Zeit messen. Ich führe einige Experimente mit einer Anwendung durch und muss daher wissen, wie viele Daten über eine bestimmte Schnittstelle übertragen werden. Das geht so:
1- start recording network usage
2- start the program
3- end the program
4- stop recording network usage
Ich kenne Tools wievnstatUndladenexistieren, aber sie scheinen nicht die Funktion zu haben, die ich brauche
Antwort1
vnstat -l
tut, was Sie brauchen
Öffnen Sie einfach ein Terminalfenster und geben Sie ein vnstat -l
. Starten Sie dann Ihr Programm, das Netzwerkbandbreite verbraucht. Wenn Ihr Programm beendet ist, kehren Sie zum Terminalfenster zurück und drücken Sie Ctrl+ C. Das Terminal zeigt dann die verstrichene Zeit und den verbrauchten Netzwerkverkehr an:
$ vnstat -l
Monitoring enp59s0... (press CTRL-C to stop)
rx: 1.74 Mbit/s 149 p/s tx: 32 kbit/s 62 p/s^C
enp59s0 / traffic statistics
rx | tx
--------------------------------------+------------------
bytes 7.40 MiB | 142 KiB
--------------------------------------+------------------
max 1.84 Mbit/s | 35 kbit/s
average 1.68 Mbit/s | 31.53 kbit/s
min 1.51 Mbit/s | 29 kbit/s
--------------------------------------+------------------
packets 5215 | 2187
--------------------------------------+------------------
max 157 p/s | 68 p/s
average 144 p/s | 60 p/s
min 129 p/s | 55 p/s
--------------------------------------+------------------
time 36 seconds