2013-12-20 11 views
8

Ich möchte die Netzwerk-Bandbreite von meinem Prozess verwendet überprüfen. Dafür habe ich festgestellt, dass Nethogs Tool nützlich ist. Mit diesem Tool kann ich sehen, welcher Prozess eine Netzwerkbandbreite und Prozessverhalten verbraucht. Aber wie kann ich Daten von Nethogs für einen Prozess erfassen und in einer Protokolldatei speichern?Capture Nethogs Ausgabe in der Protokolldatei

+0

Können Sie versuchen: 'Nethogs> Ausgabe' – anubhava

+0

mögliche Duplikate von [Redirect Konsole Ausgabe in eine Datei in Unix] (http://stackoverflow.com/questions/20702652/redirecting-console-output-to-a-file -in-unix) – l0b0

+0

@anubhava: Danke für deine Zeit, aber es funktioniert nicht. Es schlägt mit dem Fehler "Warten auf das erste Paket zu kommen (siehe Sourceforge.net Fehler 1019381)" – vab050

Antwort

0

können Sie diesen Befehl versuchen zu erfassen Ausgabe:

nethogs -d 5 | sed 's/[^[:print:][:cntrl:]]//g' > output.txt 
+1

Dies wird nicht funktionieren. Die resultierende output.txt zeigt keine Statistiken. –

+0

Fühlen Sie sich frei, eine neue Frage zu erstellen, da die alte Antwort und Ausgabe von diesem Dienstprogramm abhängig von Ihrer Version und System variieren kann. – anubhava

+1

@ValerioSchiavoni verwenden wie 'nethogs-t' und die Ausgabe ist sehr wiederverwendbar! –

2

Ich weiß nicht, wenn diese Optionen implementiert wurde, aber Sie können nethogs -t oder nethogs -b, die pid und Benutzer verwenden, werden am Ende des pid Befehl seltsam platziert Zeichenfolge, aber einfach genug, um zu analysieren.

Ich denke, benötigen Sie den aktuellen CVS-Version 0.8.1-SNAPSHOT

+0

Zum Beispiel, Daten für 5 Sekunden sammeln und einmal ausgeben: 'nethogs -c 1 -d 5 -t' – Richlv

0

Der richtige Befehl von nethogs zu verwenden ist

nethogs -d 1 eth0 > output.txt 

Sie müssen sonst die Netzwerk-Schnittstelle angeben, die Standardschnittstelle eth0 wird verwendet werden. Manchmal zeigen Nethogs aufgrund der Netzwerkschnittstelle möglicherweise nicht die richtige Ausgabe. Es ist immer besser, die Netzwerkschnittstelle bereitzustellen und während des Experimentierens etwas Verkehr zu generieren. Sie können die Ausgabe in eine Datei drucken, indem Sie > output.txt hinzufügen -D Argument gibt an, wie häufig die Ausgabe angezeigt wird. Hier gab ich 1, dies zeigt an, dass die Ausgabe pro Sekunde angezeigt wird.

Ich hoffe, dies könnte nützlich sein.

+0

Das funktioniert auch nicht: ' Keine Geräte zu überwachen. Verwenden Sie "-a", um die Überwachung von Loopback-Schnittstellen oder Geräten zuzulassen, die nicht gestartet sind – GlorianChris