Preciso medir o uso da rede em uma interface específica durante um horário específico. Estou fazendo alguns experimentos em um aplicativo, então preciso saber quantos dados estão sendo transmitidos em uma interface específica. Então as coisas são assim:
1- start recording network usage
2- start the program
3- end the program
4- stop recording network usage
Eu conheço ferramentas comovnstatencarregarexistem, mas eles não parecem ter o recurso que preciso
Responder1
vnstat -l
faz o que você precisa
Basta abrir uma janela de terminal e digitar vnstat -l
. Em seguida, inicie o programa que consome largura de banda da rede. Quando o programa terminar, retorne à janela do terminal e pressione Ctrl+ C. O terminal mostrará o tempo decorrido e o tráfego de rede 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