Necesito medir el uso de la red en una interfaz específica durante un tiempo específico. Estoy haciendo algunos experimentos en una aplicación, por lo que necesito saber cuántos datos se transmiten en una interfaz específica. Entonces las cosas van así:
1- start recording network usage
2- start the program
3- end the program
4- stop recording network usage
Conozco herramientas comovnstatydescargarexisten, pero no parecen tener la característica que necesito
Respuesta1
vnstat -l
hace lo que necesitas
Simplemente abra una ventana de terminal y escriba vnstat -l
. Luego inicie su programa que consume ancho de banda de la red. Cuando finalice su programa, regrese a la ventana de terminal y presione Ctrl+ C. El terminal mostrará entonces el tiempo transcurrido y el tráfico de red consumido:
$ 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