by vgropp

vgropp /bwm-ng

Bandwidth Monitor NG is a small and simple console-based live network and disk io bandwidth monitor ...

138 Stars 25 Forks Last release: over 1 year ago (v0.6.2) GNU General Public License v2.0 164 Commits 4 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

bwm-ng v0.6.2 Copyright (C) 2004-2019 Volker Gropp ([email protected])

What is this?

Bandwidth Monitor NG is a small and simple console-based live network and disk io bandwidth monitor for Linux, BSD, Solaris, Mac OS X and others.

Short list of features: - supports /proc/net/dev, netstat, getifaddr, sysctl, kstat, /proc/diskstats /proc/partitions, IOKit, devstat and libstatgrab - unlimited number of interfaces/devices supported - interfaces/devices are added or removed dynamically from list - white-/blacklist of interfaces/devices - output of KB/s, Kb/s, packets, errors, average, max and total sum - output in curses, plain console, CSV or HTML - configfile

This was influenced by the old bwm util written by written by Barney ([email protected]) which had some issues with faster interfaces and was very simple. Since i had almost all code done anyway for other projects, i decided to create my own version.

I actually dont know if netstat input is usefull at all. I saw this elsewhere, so i added it. Its target is "netstat 1.42 (2001-04-15)" linux or Free/Open/NetBSD. If there are other formats i would be happy to add them.

For info about libstatgrab please refer to

Supported Platforms

network routines sucessfully tested on: Linux 2.4 and above* FreeBSD 4.8, 5.3, 6.2* MacOS X 10.1 and above* Solaris 10 x86* SunOS 5.9 sparc Solaris 9 OpenBSD 3.4, 3.6, 4.0* NetBSD 1.6.1, 2.0, 3.0* IRIX64 6.5 Win2000, WinXP, Windows Vista

*disk monitoring working aswell

please email me of working or not working platforms. Disk IO might work only on a limited number of platforms.


Autotools are used to build this. Run the to generate the configure script.

For detailed decription please read INSTALL ./configure --help for a list of options

./configure make

to install use as root: make install


To compile the Windows version in Linux (debian): ./configure --with-win32 --without-procnetdev --without-diskstats --without-curses --without-netstatlinux --build i686-pc-linux-gnu --host i586-mingw32msvc make

get ansi.sys for better output:


csv output format: Type rate: unix timestamp;ifacename;bytesout/s;bytesin/s;bytestotal/s;bytesin;bytesout;packetsout/s;packetsin/s;packetstotal/s;packetsin;packetsout;errorsout/s;errorsin/s;errorsin;errorsout\n Type svg, sum, max: unix timestamp;ifacename;bytesout;bytesin;bytestotal;packetsout;packetsin;packetstotal;errorsout;errorsin\n Use --count 0 to skip the all zero output after start.

html output format: edit the bwm-ng.css to modify the output. Please note the htmlrefresh only modifies the META refresh, you maybe wanna sync --timeout and --htmlrefresh


USAGE: bwm-ng [OPTION] ... [CONFIGFILE] Please read the manpage or

bwm-ng -h
for a list and explanation of options.

Keybindings (curses only): 'h' show help 'q' exit '+' increases timeout by 100ms '-' decreases timeout by 100ms 'k','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 30 sec


either via cmdline or /etc/bwm-ng.conf or ~/.bwm-ng.conf it consists of: longoption=value with 1 or 0 as values for keys without a value in cmdline options.

For more help take a look at bwm-ng.conf-example


Bugs/Known Problems: - curses output coredumps on netbsd 1.6.1 (maybe others) with unknown TERM set and configfile support compiled in - no other yet, wow ;) (please report if you found one)

Todo: - Docs - checking options to be valid - mysql output (ipac-ng compatible) - setting which stats to output for csv/sql - distributed gathering of stats (client/server) - whatever you can think of

  • This program is free software; you can redistribute it and/or modify *
  • it under the terms of the GNU General Public License as published by *
  • the Free Software Foundation; either version 2 of the License, or *
  • (at your option) any later version. *
  • *
  • This program is distributed in the hope that it will be useful, *
  • but WITHOUT ANY WARRANTY; without even the implied warranty of *
  • GNU General Public License for more details. *
  • *
  • You should have received a copy of the GNU General Public License *
  • along with this program; if not, write to the Free Software *
  • Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA * ******************************************************************************

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.