Frage Wie finde ich heraus, welcher Prozess meine Bandbreite verbraucht? [Duplikat]


Diese Frage hat hier bereits eine Antwort:

Ich denke, ich bin hier das Opfer eines Virus. Manchmal, während ich arbeite (ich weiß immer noch nicht warum), steigt mein Netzwerkverkehr auf 200 KB / s und bleibt so, auch wenn ich nichts mit dem Internet zu tun habe.

Das passiert mir manchmal mit der CPU-Auslastung. Wenn das der Fall ist, renne ich einfach ein top Befehl, um herauszufinden, welcher Prozess verantwortlich ist und dann kill es. Problem ist: Ich habe keine Möglichkeit zu wissen, welcher Prozess für meine hohe Netzwerknutzung verantwortlich ist. Sowohl der Ressourcenmonitor als auch der top Befehl sagen Sie mir nur meine gesamte Netzwerknutzung, keiner von ihnen sagt mir prozessspezifische Netzwerkinformationen.

Ich habe hier Fragen zur Überwachung der gesamten Bandbreitennutzung gefunden, aber das ist nicht, was ich brauche. Gibt es einen weiteren Befehl, mit dem ich herausfinden kann, welcher Prozess außer Kontrolle gerät?

Der Befehl iftop gibt Ergebnisse, die mit den von System Monitor gemeldeten Informationen nicht übereinstimmen. Während letzterer behauptet, es gebe einen hohen Netzwerkverkehr, behauptet der Erstere, dass es kaum 1 KB / s gibt.

Ich habe bereits versucht, alle offensichtlichen zu töten (Firefox, Update-Manager, Pidgin, etc.) ohne Glück. Bisher ist das Neustarten der Maschine die einzige Möglichkeit, das Problem loszuwerden.


154
2017-08-16 19:22


Ursprung




Antworten:


Ich hatte viel Erfolg mit Nethogs. Es muss als root ausgeführt werden, aber es gibt verschiedene Möglichkeiten, wie Sie die Statistiken sortieren können (wie KB / s oder die gesamte überwachte Bandbreite seit dem Start von Neths).

Wenn Sie WLAN verwenden, müssen Sie das Gerät auch an dieses Gerät übergeben.

Installieren Sie es mit Befehl: sudo apt-get install nethogs 

Beispiel: sudo nethogs wlan0


183
2017-08-18 01:47



Bei näherer Betrachtung ist es Ja wirklich ärgerlich, dass es davon ausgeht, dass das Terminal immer 80 Zeichen breit ist und kürzt den Befehl ab. - Li Lo
Es ist eine Weile her, aber diese Antwort ist tatsächlich wesentlich einfacher. - Malabarba
nethogs ist nett, aber es scheint zu nutzen Weg mehr CPU auf meinem Computer als iftop - aidan
Vor einem Fehler gewarnt werden, der einige Versionen von macht nethogunbrauchbar: askubuntu.com/questions/726601/ ... - Rmano
Sie müssen das Gerät nicht weitergeben, wenn Sie WLAN verwenden. sudo nethogs funktioniert gut. - Ads20000


Benutzen iftop um den TCP-Port auf Ihrem Computer zu finden, der den meisten Datenverkehr erhält. Dann benutze sudo netstat -tup um den Prozess zu finden, der diesen Port "besitzt".

Das ist der Prozess, nach dem Sie suchen.

PS: Sollte auch für UDP arbeiten.


47
2017-08-16 19:56



Danke, der Befehl scheint zu funktionieren, aber ich bekomme seltsame Ergebnisse. Systemmonitor beansprucht insgesamt rund 180 KB / s, während iftop beansprucht insgesamt knapp 1 Kilobyte pro Sekunde. - Malabarba
Ich akzeptiere die Antwort, da sie die ursprüngliche Frage beantwortet. Aber ich werde nett sein, wenn ich herausfinden kann, was hier vor sich geht. - Malabarba
iptop zeigt Statistiken für eine einzelne Schnittstelle an. Ich bin mir nicht sicher, ob der Systemmonitor nur eine oder alle Schnittstellen überprüft. Wenn das der Fall ist, wird der Verkehr von Systemmonitor angezeigt, aber nicht von iftop angezeigt, was OK ist, weil Sie sowieso nur auf Ihre Internetschnittstelle schauen wollen (und nicht auf lo). Ich habe gerade iftop auf meinem System getestet und es zeigte, was ich erwartet hatte. Beachten Sie jedoch, dass iftop Durchschnittswerte über 2s, 10s, 40s anzeigt. Ich habe iftop wie 'sudo iftop -i eth0 -nPB' ausgeführt, wie hast du es ausgeführt? - Li Lo
Ich lief es als sudo iftop -B -i eth0, das heißt, es wurde nur mein Internet-Verkehr richtig angesehen? Es kam mir nicht in den Sinn, dass der Systemmonitor auch andere Schnittstellen überprüft. Ironischerweise verschwand das Problem vor 10 Minuten (nach vielen Stunden), also kann ich nicht überprüfen iftop wieder für jetzt. Wofür steht die lo-Schnittstelle? - Malabarba
Da es auf dem iftop-Bildschirm viele Zahlen gibt, habe ich einen Screenshot erstellt, in dem ich die Nummer markiert habe, an der Sie interessiert sind. Vergleichen Sie diese mit dem Systemmonitor. Der Screenshot ist um imgur.com/2iuiI . "lo" steht für localhost, eine Schnittstelle, über die lokale Programme miteinander kommunizieren können. - Li Lo


Vielleicht möchten Sie sich das ansehen ntop - die Netzwerkaktivität auf Prozessebene überwachen sollte. Sie können finden ntop im Software Center oder mit sudo apt-get install ntop

Folgen Sie für Installationsanweisungen ihrer Seite http://packages.ntop.org/


13
2017-08-16 19:43



nicht verfügbar mit ubuntu 17.04 (zesty) - shadi


Eine andere Alternative ist iptraf. Es wird Ihnen nicht die PID des Prozesses vorenthalten, sondern Ihnen sagen, welche Verbindung wie viel Bandbreite verwendet.


7
2017-08-16 20:21





Späte Antwort, aber ich hatte das gleiche Problem. Entpuppte sich als Ubuntuone. Fanden Sie das, indem Sie tcpdump ausführen. Ich habe die gleiche Lernkurve zur Prozessidentifikation durchlaufen. Meine Notizen sind Hier.


6
2017-09-13 00:03