Such known tools like iftop/iptraf display network I/O per interface and per connection. Is there a way to see network I/O statistics per process?
Asked
Active
Viewed 5.3k times
2 Answers
41
nethogs looks like it will do what you want.
EDIT: I needed to install ncurses-devel, libpcap and libpcap-devel to build.
yagmoth555
- 17,495
moshen
- 1,564
6
To find what connections are associated with each process, use lsof. For example:
lsof | grep TCP
That will give you a list of connections, like this:
bash 10887 luke 3u IPv4 44638801 0t0 TCP littleyerry.example.com:55212->barista.example.com:ldap (ESTABLISHED)
bash 10913 luke 3u IPv4 44638905 0t0 TCP littleyerry.example.com:55216->barista.example.com:ldap (ESTABLISHED)
ssh 10935 luke 3u IPv4 44639001 0t0 TCP littleyerry.example.com:55219->barista.example.com:ldap (ESTABLISHED)
ssh 10935 luke 4u IPv4 44639008 0t0 TCP littleyerry.example.com:59459->launchpad.example.com:ssh (ESTABLISHED)
bash 10938 luke 3u IPv4 44639107 0t0 TCP littleyerry.example.com:55221->barista.example.com:ldap (ESTABLISHED)
From there, you should be able to find out about each connection individually using the tools you mentioned (iftop, iptraf). You could build a small script to aggregate the specific data that you're looking for.
lukecyca
- 2,205