Gibt es ein Tool oder einen Befehl, mit dessen Hilfe der Bandbreitenverbrauch eines bestimmten Prozesses (PID) erfasst werden kann, genau wie beim Systemmonitor, jedoch für einen einzelnen bestimmten Prozess, wie im folgenden Screenshot dargestellt
Ich werde mit einem Befehlszeilentool zufrieden sein, das diesen Verlauf zumindest in Dateien exportiert. (Ich bin auf Ubuntu 16.04)
Update 1
Ich möchte mindestens ein Tool wie Nethogs , das in Dateien ausgegeben werden kann (Nethogs erfasst nur TCP-Verbindungen). Ein ähnliches Tool, das sowohl auf TCP als auch auf UDP abzielt , wäre großartig
Update 2
Jedes Skript, jede Kombination anderer Tools (wie Wireshark) würde ebenfalls helfen.
networking
monitoring
AymenDaoudi
quelle
quelle
Antworten:
Haben Sie sich das Werkzeug oben angesehen? Laut der Manpage dafür:
"Die Netzwerklast wird pro Prozess angezeigt, wenn das Kernelmodul" netatop "installiert wurde."
quelle
Da ich keine einfache / klare / "sofort einsatzbereite" Lösung gefunden habe, musste ich eine bescheidene Lösung, Korrekturen, Umgestaltungen und weitere Optionen vornehmen.
-> https://github.com/AymenDaoudi/NeTraf
quelle
Wie wäre es mit
iftop
, um das Verkehrsaufkommen an bestimmten Ports zu analysieren und dannlsof
zu bestimmen, welcher Prozess welchen Port verwendet?quelle
iftop
KB / s für UPs und Downs melden? Kann es das in eine externe Datei ausgeben?Nethogs könnten das sein, was Sie wollen.
debian / ubuntu / etc.
oder rhel / cent / etc.
Sie führen es auf der Netzwerkschnittstelle aus, z
Die Ausgabe erfolgt jedoch über die Bandbreite pro gesendetem und empfangenem Prozess. Sie können auch mehrere Schnittstellen überwachen.
BESCHREIBUNG NetHogs ist ein kleines "Net Top" -Tool. Anstatt den Datenverkehr wie bei den meisten dieser Tools pro Protokoll oder Subnetz aufzuschlüsseln, wird die Bandbreite nach Prozessen gruppiert - und es muss kein spezielles Kernelmodul geladen werden. Wenn also plötzlich viel Netzwerkverkehr herrscht, können Sie NetHogs starten und sofort sehen, welche PID dies verursacht. Wenn es sich um einen Drehvorgang handelt, beenden Sie ihn.
UPDATE : OP hat nach Ausgabe in Datei gefragt. Sie können es mit Nethogs tun:
-d gibt das Zeitintervall zwischen den Schreibvorgängen an ... damit Sie den obigen Befehl ausführen und das gewünschte Ergebnis erhalten können.
Laut UPDATE2 OP sind TCP und UDP erforderlich. Versuchen Sie dann, jnettop zu verwenden . Etwas älter, aber TCP und UDP. Es ist in deb / ubuntu erhältlich und ich denke, RHEL-Derivate. Beispiel:
Dies sollte zu einer Datei weiterleitbar sein.
quelle