How to track internet usage (upload & download) on Linux?

72,132

Solution 1

Install vnstat, it gives logs the usage on a network interface and you can display the usage over different time periods.

Here's the default output from my system

                  rx      /      tx      /     total    /   estimated
eth0:
   Jun '13     14.40 GiB  /    1.70 GiB  /   16.10 GiB
   Jul '13      3.57 GiB  /    2.55 GiB  /    6.12 GiB  /   40.44 GiB
 yesterday    968.58 MiB  /    2.26 GiB  /    3.21 GiB
     today    377.88 MiB  /   26.73 MiB  /  404.61 MiB  /     582 MiB

If you get vnstati as well, you can display the data in different ways e.g.

Usage graph

Solution 2

Easiest to use and easiest to control output and redirect to file for continuous logging:

ifstat

Probably comes with most linux distributions, and can be installed with brew on mac. Highly recommended.

Solution 3

vnstat is probably the best way to do this. It can be installed using the following command in terminal:

sudo apt-get install vnstat

If you don't want to keep checking the data usage status every time then use:

watch -n 5 --differences vnstat -d eth0

It would display the status every 5 seconds in the open terminal with the differences that occur in the values. -d is used to display the status of each day and eth0 is the ethernet used for internet connection (wlan0 may be used for WiFi).

Share:
72,132

Related videos on Youtube

Prahlad Yeri
Author by

Prahlad Yeri

Updated on September 18, 2022

Comments

  • Prahlad Yeri
    Prahlad Yeri over 1 year

    I use a broadband modem to connect to internet on my linux machine. I've used the gnome-system-monitor app that correctly displays the kbps as well as total bytes consumed in each session. Now, is there any easy way in linux for me to log all these consumptions (downloads and uploads)?

    The thing is that I use a limited usage plan (n number of GBs each month), hence I want to keep track of my usage. What is the best approach to do this on linux?

  • Martin Thoma
    Martin Thoma about 8 years
    Which command did you use to get this nice image? When I use vnstati -d it only says At least output mode and file parameter needs to be given.
  • parkydr
    parkydr about 8 years
    The image shows a vertical summary (-vs option) and you need an output file (-o option), so the command to output the above image to foo.png is 'vnstati -vs -o foo.png'
  • Martin Thoma
    Martin Thoma about 8 years
    Thank you. And what is rx and TX?
  • parkydr
    parkydr about 8 years
    Rx - receive Tx transmit
  • Martin Thoma
    Martin Thoma about 8 years
    Thank you very much. What do you think about adding this to your answer? So how you find what your wlan interface is and vnstati -vs -i wlp3s0 -o ~/summary.png
  • parkydr
    parkydr about 8 years
    ifconfig will show you your networks
  • Kasun Siyambalapitiya
    Kasun Siyambalapitiya over 2 years
    @parkydr is there any way to view past details from vnstat (before it was installed)?
  • parkydr
    parkydr over 2 years
    No, vnstat does the usage logging