up vote 5 down vote favorite
2
share [g+] share [fb]

Is there a way to get a summary of how much bandwidth a given process used on Linux after the process completes? I do not want a monitor, I want something I can look at after the task has completed..

Ideally something like the "time" command or a profiler, but for network usage.

link|improve this question
feedback

3 Answers

You could use http://nethogs.sourceforge.net/

You might also want to look through the answers given at http://serverfault.com/questions/44492/ip-process-based-bandwidth-usage-stats-tool-for-linux

link|improve this answer
feedback

tcptrace is quite powerful and is probably able to do the things you want. Maybe it's a bit too low-level though...

link|improve this answer
feedback

It is possible to count packets in and out using iptables based on a PID, I understand that knowing the PID before a process is starting is next to impossible. Depending on your situation this maybe reliant.

iptables -A OUTPUT -p TCP -m owner --pid-owner $PID -j ACCEPT

You can check if the rule is being hit and how many packets have hit it, with the following command.

iptables-save -c
link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.