Antworten:
Sie können NetHogs ausprobieren .
NetHogs ist ein kleines 'Net Top'-Tool. Anstatt den Datenverkehr nach Protokollen oder Subnetzen aufzuschlüsseln, gruppiert es die Bandbreite nach Prozessen , wie es die meisten Tools tun . NetHogs benötigt kein spezielles Kernelmodul, um geladen zu werden. Wenn plötzlich viel Netzwerkverkehr auftritt, können Sie NetHogs starten und sofort sehen, welche PID dies verursacht. Dies macht es einfach, Programme zu identifizieren, die wild geworden sind und plötzlich Ihre Bandbreite beanspruchen.
sudo nethogs -p eth2
. Sie müssen Ihr Ethernet angeben, wenn es nicht standardmäßig eth0 ist.
Es gibt durchaus ein paar aufgeführt hier .
Meine Favoriten bleiben jedoch iftop und tcpdump . Wireshark ist auch eine sehr gute Option.
Versuchen Sie atop
... um das Beste daraus zu machen, müssen Sie möglicherweise einige zusätzliche Kernel-Patches (I / O Accounting Patches) aktivieren.
Wenn dies atop
nicht der Fall ist, geben Sie mit netstat -anp --inet
(als Root) an, welche TCP / UDP-Ports von welchen Prozessen verwendet werden (oder möglicherweise lsof
dafür). Von dort iterieren Sie einfach über jeden Prozess, der einen offenen Socket hat, und hängen Sie ihn entweder mit ltrace -S
oder strace
an, um die Lese-, Schreib-, Sende- und Empfangsdaten zu überprüfen, oder verwenden Sie tcpdump
einen Filter, der Ihre lokale (n) IP-Adresse (n) und die TCP / UDP-Ports angibt das waren aufgelistet.
atop
ist sicherlich die bequemste von diesen ... wenn Sie es und die notwendige Kernel-Unterstützung installiert haben. In der Vergangenheit hatten Kunden und Arbeitgeber spezielle Systeme (die sich von ihren Produktionsimages unterscheiden) eingerichtet, um die E / A-Profilerstellung mithilfe von zu unterstützen atop
. Diese anderen Techniken werden Sie jedoch dorthin bringen.
Ich bin sicher, wir könnten auch etwas mit SystemTap machen ... aber ich kenne keine einfachen vorgekochten Rezepte dafür. SystemTap ist in hohem Maße ein Programmieranalysetool.
netstat -anp --inet
Recv-Q
Send-Q