
Я хочу рассчитать чистую передачу байтов (входящих и исходящих) за каждые 2 секунды.
Я использую nettop
, чтобы узнать использование ( bytes_in
и bytes_out
).
Команда:
nettop -x -k state -k interface -k rx_dupe -k rx_ooo -k re-tx -k rtt_avg -k rcvsize -k tx_win -k tc_class -k tc_mgt -k cc_algo -k P -k C -k R -k W -l 1 -t wifi -t wired
Принимаются bytes_in
bytes_out
в соответствии с резюме заявки.
1Q).Отображаемые данные ( bytes_in
и bytes_out
) рассчитываются с момента запуска каждого приложения. Я прав?
Я подумал, что я прав, и выполнил nettop
команду два раза с интервалом в 2 секунды, а затем вычел эти два значения, чтобы получить чистую передачу байтов за 2 секунды.
Но иногда первый выход больше второго выхода.
2Q).Как это возможно? Всегда второй выход должен быть больше или равен первому выходу, верно?
ОПЕРАЦИОННЫЕ СИСТЕМЫ:macOS Sierra.
решение1
Было бы разумно, если бы статистика «рассчитывалась с момента запуска для каждого приложения», но, похоже, это не так. Сбивает с толку,неттопсохраняет текущие итоги с момента его запуска, поэтому вы можете получить эти данные, запустивнеттопсеанс в то же время, когда запускается наблюдаемое приложение, но это не совсем практично для большинства случаев использования.
Примечательно, чтоСетьвкладка вМонитор активностиведет себя таким же образом (итоговые данные взяты с момента, когдаэтозапускается, а не приложение наблюдается), поскольку базовая служба операционной системы одинакова для обоихМонитор активностиинеттоп.