I am looking for a free program that can display the live network throughput per process in the Linux shell. As far as I know:

  • ifconfig only lists interfaces and doesn't display the live network throughput:

    eth0   Link encap:Ethernet  HWaddr 00:0F:20:CF:8B:42
           inet addr:  Bcast:  Mask:
           RX packets:2472694671 errors:1 dropped:0 overruns:0 frame:0
           TX packets:44641779 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000
           RX bytes:1761467179 (1679.7 Mb)  TX bytes:2870928587 (2737.9 Mb)
  • slurm only lists interfaces:

    slurm screenshot

  • bmon only lists interfaces:

    bmon screenshot

  • tcptrack shows every connection:

    tcptrack screenshot

  • iftop does not display throughput per process:

    iftop screenshot

1 Answer 1


You can use NetHogs:

  • free

  • install with sudo apt-get install -y nethogs

  • runs in the terminal

  • display the live network throughput per PID:

    NetHogs screenshot

Note that for NFS/AFS traffic you will see ? as PID:

NetHogs screenshot: listing NFS traffic under "?"

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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