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

Antworten:

31

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

BEARBEITEN: Ich musste ncurses-devel, libpcap und libpcap-devel installieren, um zu bauen.

Moshen
quelle
@yag Es ist nicht erforderlich, dem Beitrag "EDIT" hinzuzufügen. Wir können bereits die Geschichte dessen sehen, was sich geändert hat.
Tshepang
@Tshepang Ich habe Ihre Bearbeitung überprüft. Ich habe den aktualisierten Link beibehalten, den Sie vorgenommen haben. Ich habe jedoch den Bearbeitungstext beibehalten.
yagmoth555 - GoFundMe Monica
@ yagmoth555 Ich meine, warum soll "EDIT" in der Post bleiben? Wir haben eine Historie, um zu zeigen, was bearbeitet wurde, daher muss nicht erwähnt werden, dass "der folgende Text eine Bearbeitung ist".
Tshepang
@ Tshepang Oh, überprüfe deine Bearbeitung, du hast dann sicher aus Versehen die gesamte Zeile entfernt, deshalb habe ich sie erneut bearbeitet, um die Zeile zu behalten
yagmoth555 - GoFundMe Monica
@ yagmoth555 es war absichtlich und ich habe den Kommentar hinterlassen, der erklärt warum
tshepang
4

Verwenden Sie lsof, um herauszufinden, welche Verbindungen mit jedem Prozess verknüpft sind. Beispielsweise:

lsof | grep TCP

Daraufhin erhalten Sie eine Liste mit Verbindungen, wie folgt:

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, sich mit den von Ihnen erwähnten Tools (iftop, iptraf) über jede Verbindung einzeln zu informieren. Sie können ein kleines Skript erstellen, um die spezifischen Daten zu aggregieren, nach denen Sie suchen.

lukecyca
quelle
3
lsof -niTCPist äquivalent, aber viel schneller und lsof -niTCP -sTCP:ESTABLISHEDzeigt die aktuellen Verbindungen an.
Miau