[PotW] bwm-hg
I was pressed to figure out how much throughput was going over an interface for my laptop; a few minutes later I found this gem! It has one purpose, and it does it exceptionally well! Well I lie, it has a few purposes, but it’s main goal (and title) is to monitor bandwith [Band With Monitor - Next Generation]. Why would I want to monitor my bandwidth? Well for this usage case I wanted a simple method to view what kind of nfs throughput I was getting on my laptop. Bingo, I spent a little over a millisecond installing bwm-ng && was very happy to see exactly what I was looking for without having to do any special flags, or configuring the program, or anything. I quickly hit the ‘h’ to get a few little tidbits of greatness; like how to change the probe timeout, and other magical things. I love this little program and use it on all my machines now for quick throughput monitoring on my network/disks (ya, it does disks too
Program: bwm-ng
Site Link: http://www.gropp.org/?id=projects&sub=bwm-ng
Download:
- Download direct: http://www.gropp.org/bwm-ng/bwm-ng-0.6.tar.gz
- Use CVS & get the newest version: svn co https://svn.sourceforge.net/svnroot/bwmng/trunk bwm-ng
Installation:
- Use your package manager (pacman -S bwm-ng for archlinux)
- Mac (download homebrew && sudo brew install tmux)
- Compile manually >>
Compile:
./configure make -j8 (make with 8 jobs at once [compile faster on a core duo]) sudo make install
How to use:
First off execute `bwm-ng`, you will be greeted with your active interfaces. Shown will be TX (Transmit), RX (Receive) & Total && Total (of everything).
Right from the get go I hit the ‘h’ key for help, and quickly got acquainted with some powerful letters. ‘d’, ‘u’, ‘n’, ‘t’ are my favs *and are the heart of the application. I started out by changing the default value shown to “auto” with ‘d’, then I changed the type of output to “average” with the letter ‘t’. I was tickled pink that in less than 5 minutes I had what I needed, with no hassle what-so-ever. Some other glorious things that this program does is allow you to select how you would like to output the data (ncurses, ncurses2 (colors & stuff), plain (text), and html).
All of these features also apply to monitoring disks as well. Just punch the ‘n’ key a few times until disks show up…
If I haven’t expressed it already, I really like this program, and it’s one of the ones that I’ll be using regularly from now on (Until I find something better ![]()
Keybindings:
'h' show this help 'q' exit '+' increases timeout by 100ms '-' decreases timeout by 100ms 'd' switch KB and auto assign Byte/KB/MB/GB 'a' cycle: show all interfaces, only those which are up, only up and not hidden 's' sum hidden ifaces to total aswell or not 'n' cycle: input methods 'u' cycle: bytes,bits,packets,errors 't' cycle: current rate, max, sum since start, average for last 30s
–help:
<strong> </strong> bwm-ng --help Bandwidth Monitor NG (bwm-ng) v0.6 Copyright (C) 2004-2007 Volker Gropp <bwmng@gropp.org> USAGE: bwm-ng [OPTION] ... [CONFIGFILE] displays current ethernet interfaces stats Options: -t, --timeout <msec> displays stats every <msec> (1msec = 1/1000sec) default: 500 -d, --dynamic [value] show values dynamicly (Byte KB or MB) -a, --allif [mode] where mode is one of: 0=show only up (and selected) interfaces 1=show all up interfaces (default) 2=show all and down interfaces -I, --interfaces <list> show only interfaces in <list> (comma seperated), or if list is prefaced with % show all but interfaces in list -S, --sumhidden [value] count hidden interfaces for total -A, --avglength <sec> sets the span of average stats (Default 30s) -D, --daemon [value] fork into background and daemonize -h, --help displays this help -V, --version print version info Input: -i, --input <method> input method, one of: getifaddrs sysctl netstat ioservice Output: -o, --output <method> output method, one of: plain, curses, curses2, csv, html -u, --unit <value> unit to show. one of bytes, bits, packets, errors -T, --type <value> type of stats. one of rate, max, sum, avg -C, --csvchar <char> delimiter for csv -F, --outfile <file> output file for csv and html (default stdout) -R, --htmlrefresh <num> meta refresh for html output -H, --htmlheader show <html> and <meta> frame for html output -c, --count <num> number of query/output for plain & csv -N, --ansiout disable ansi codes for plain output (ie 1 for one single output)










