This is similar to the question:

Does software exist to log all download / upload usage?

But, I want to know what options are out there for OS X? This includes Dashboard widgets and standard software. If there are limited options out there, simple Linux apps would be good to know about too.


SurplusMeter is what I use on my Mac.

Here's a screenshot:

enter image description here


I'm a big fan of the iSlayers products:

iStatPro: A widget for the dashboard (can also be placed on the desktop if you put dashboard in developer mode.

alt text

iStat Menus: which will add the metrics to the menu bar.

alt text

Obviously these keep track of a lot more than just bandwidth use but they are pretty configurable and you can turn off whatever metrics you don't want.


vnstat

A nice, simple command line tool. It has (ASCII!) graphs of bandwidth usage by hour/day/month, top-usage dates and such. For example:

$ vnstat -h
 eth1                                                                     21:25
  ^           r
  |           r
  |           r                                            r
  |        r  r                                            r
  |      t r  r                                            r            t
  |     rt r  r                                            r  r      t  t
  |     rt r  r                                            r  r      t  t
  |     rt r  r         t                      r           r  r      t  t
  |     rt r  rt        t                   r  r        r  rt rt  t rt rt  t
  |  rt rt rt rt rt r  rt r              r  r  r  r  rt rt rt rt rt rt rt  t
 -+--------------------------------------------------------------------------->
  |  22 23 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21

 h  rx (KiB)   tx (KiB)      h  rx (KiB)   tx (KiB)      h  rx (KiB)   tx (KiB)
22    250,801    205,825    06    100,529     49,054    14    205,356    157,877
23    705,144    885,844    07     52,806     44,130    15    258,228    226,265
00    928,792    224,789    08     52,298     45,230    16  1,028,043    343,843
01  1,271,180    292,260    09     70,396     61,719    17    755,804    293,309
02    212,296    186,481    10    155,502     72,451    18    235,691    284,886
03    165,931     91,943    11    266,673     92,497    19    275,554    658,386
04    150,997    437,071    12    392,244    122,185    20    307,819    850,813
05    180,170     56,391    13    133,829    120,555    21    117,474    292,787

There's a few web-frontends to vnstat listed on its site, such as this one

The page also mentions some alternatives, such as ntop and darkstat (although the way ntop/darkstat work uses more CPU, and must be ran as root, whereas vnstat is run every 5 minutes via cron, and can run as any user)

One advantage ntop has over vnstat and other applications in other answers is it will differentiate between local network traffic and internet traffic (as ntop examines all packets going in/out of the machine), and even which protocols or sites the traffic is being used for.