Frage Wie kann ich die Netzwerk-E / A-Nutzung pro Prozess unter Linux überwachen?


Solche bekannten Tools wie iftop / ipfr zeigen Netzwerk-I / O pro Schnittstelle und pro Verbindung an. Gibt es eine Möglichkeit, Netzwerk-E / A-Statistiken pro Prozess anzuzeigen?


26
2017-07-06 20:00


Ursprung


unix.stackexchange.com/questions/6908/ ... | superuser.com/questions/189128/ ... - Ciro Santilli 新疆改造中心 六四事件 法轮功


Antworten:


Nethogs sieht so aus als würde es tun was du willst.

EDIT: Ich musste ncurses-devel, libpcap und libpcap-devel installieren.


30
2017-07-06 21:48



Tolle Ergänzung zu meiner Toolbox, danke. - Luke404
@yag gibt es keine Notwendigkeit, "EDIT" zum Beitrag hinzuzufügen. Wir können bereits die Geschichte dessen sehen, was sich geändert hat. - Tshepang
@ Tshepang Ich überprüfte deine Bearbeitung, ich behielt den aktualisierten Link, den du gemacht hast, aber ich behielt den Bearbeitungstext, da es für mich einen Mehrwert brachte, wie deine Bearbeitung auch. - yagmoth555♦
@ yagmoth555 Ich meine, warum behalten "EDIT" in der Post? Wir verfügen über eine Historie, um zu zeigen, was bearbeitet wurde. Es ist also nicht notwendig zu erwähnen, dass "folgender Text eine Bearbeitung ist". - Tshepang
@Tshepang Oh, überprüfe deine Bearbeitung, du hast die gesamte Zeile sicher per Fehler entfernt, deswegen habe ich die Zeile neu editiert - yagmoth555♦


Verwenden Sie lsof, um zu ermitteln, welche Verbindungen mit jedem Prozess verknüpft sind. Zum Beispiel:

lsof | grep TCP

Das wird dir eine Liste von Verbindungen geben, so:

bash    10887 luke    3u     IPv4 44638801      0t0      TCP littleyerry.example.com:55212->barista.example.com:ldap (ESTABLISHED)
bash    10913 luke    3u     IPv4 44638905      0t0      TCP littleyerry.example.com:55216->barista.example.com:ldap (ESTABLISHED)
ssh     10935 luke    3u     IPv4 44639001      0t0      TCP littleyerry.example.com:55219->barista.example.com:ldap (ESTABLISHED)
ssh     10935 luke    4u     IPv4 44639008      0t0      TCP littleyerry.example.com:59459->launchpad.example.com:ssh (ESTABLISHED)
bash    10938 luke    3u     IPv4 44639107      0t0      TCP littleyerry.example.com:55221->barista.example.com:ldap (ESTABLISHED)

Von dort aus sollten Sie in der Lage sein, jede Verbindung einzeln mit den von Ihnen erwähnten Tools (iftop, iptraf) herauszufinden. Sie können ein kleines Skript erstellen, um die gesuchten Daten zu aggregieren.


4
2017-07-06 20:56



lsof -niTCP ist gleichwertig aber viel schneller, und lsof -niTCP -sTCP:ESTABLISHED zeigt die aktuellen Verbindungen an. - Meow