
Ich möchte den Netto-Byte-Transfer (eingehend und ausgehend) alle 2 Sekunden berechnen.
Ich verwende, nettop
um die Verwendung ( bytes_in
und bytes_out
) zu kennen.
Befehl:
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
Einnahme bytes_in
bytes_out
gemäß Anwendungsgebiet.
1Q).Die angezeigten Daten ( bytes_in
und bytes_out
) werden ab dem Start für jede Anwendung berechnet. Habe ich Recht?
Ich dachte, ich hätte Recht, und führte den nettop
Befehl zwei Mal im Abstand von 2 Sekunden aus und subtrahierte diese beiden Werte, um die Netto-Byteübertragung für 2 Sekunden zu erhalten.
Aber manchmal ist die erste Ausgabe größer als die zweite Ausgabe.
2Q).Wie ist das möglich? Die zweite Ausgabe muss immer größer oder gleich der ersten Ausgabe sein, richtig?
Betriebssystem:macOS Sierra.
Antwort1
Es wäre sinnvoll, wenn die Statistiken „vom Start an für jede Anwendung berechnet“ würden, aber das scheint nicht der Fall zu sein. VerwirrenderweiseNettoverwaltet die laufenden Summen seit dem Start, so dass Sie diese Daten abrufen können, indem Sie einenNettoSitzung gleichzeitig mit dem Start der beobachteten Anwendung, was jedoch für die meisten Anwendungsfälle nicht wirklich praktikabel ist.
Es ist bemerkenswert, dass dieNetzwerkRegisterkarte inAktivitätsmonitorverhält sich genauso (die Summen stammen von dem Zeitpunkt,Esstartet, nicht die beobachtete Anwendung), da der zugrunde liegende Betriebssystemdienst für beide gleich istAktivitätsmonitorUndNetto.