bmon(8)
π¦ NAME π¦
okay so bestie, meet bmon β it's a bandwidth monitor and rate estimator, and it hangs out in section 8 of the manual so everyone calls it bmon(8). no cap, that's literally the whole name. π
β¨ SYNOPSIS β¨
bmon [--show-all] [--use-si] [--input=MODULE] [--output=MODULE]
[OPTIONS...]
πΈ DESCRIPTION πΈ
so like, bmon is a monitoring and debugging tool whose whole vibe is capturing networking-related statistics and then presenting them in a way that actual humans can read. it's giving "I got you, bestie." π«Ά
it comes with various output methods, including an interactive curses user interface and a programmable text output that you can script with. iconic honestly.
π OPTIONS π
-h,--helpβ prints a short help text and then dips out. bye! π-V,--versionβ prints the versioning identifier and exits. show me your ID bestie πͺͺ-i,--input=MODULE[:OPTIONS][,MODULE...]β sets the list of input modules to load and use. you can run multiple modules in parallel, lowkey multitasking queen.bmonwill automatically load a useful and working input module by default. peek at INPUT MODULES for the full tea.-o,--outputMODULE[:OPTIONS][,MODULE...]β sets the list of output modules to load and use. multiple modules can run at the same time. by defaultbmonuses the curses output mode, and if that's not available because your console is incompatible, it falls back to a simple text mode. see OUTPUT MODULES for more.-U,--use-siβ uses the SI unit system, meaning1KB = 1'000 bytesinstead of1KB = 1'024 bytes. metric girlies rise π-f,--configfile=FILEβ sets an alternative path to the configuration file.-p,--policy=POLICYβ sets the policy that defines which network interfaces get displayed. details live in INTERFACE SELECTION.-a,--show-all=β displays all interfaces, even the ones that are administratively down. no interface left behind fr fr.-r,--read-interval=FLOATβ sets the interval in seconds in which input modules read statistics from their source. the default is1.0seconds.-R,--rate-interval=FLOATβ sets the interval in seconds in which the rate per counter is calculated. the default is1.0seconds.-b,--use-bitβ shows rates in bits per second instead of bytes per second. bits girlies, I see you β¨-L,--lifetime=FLOATβ sets the lifetime of an element in seconds before it's no longer displayed without receiving any statistical updates. the default is30seconds.
π₯ INPUT MODULES π₯
input modules are the ones serving the data. they provide statistical data about elements. each element consists of attributes which represent a counter, a rate, or a percentage. elements can also carry additional child elements to represent a hierarchy β it's giving family tree π§. every element is assigned to a group defined by the input module. and input modules get polled at the frequency of the configured read interval.
here's the lineup of available input modules:
netlinkβ uses the Netlink protocol to collect interface and traffic control statistics from the kernel. this is the default input module, main character energy πprocβ reads interface statistics from the/proc/net/devfile. this is considered a legacy interface and is provided for backwards compatibility reasons. it's the fallback module if the Netlink interface isn't available.dummyβ a programmable input module, made for debugging and testing purposes.nullβ no data collected. it's giving "I'm just here" π
wanna get more info about a module? run it with the "help" option set, like this:
bmon -i netlink:help
and see MODULE CONFIGURATION for more details.
π OUTPUT MODULES π
output modules display or export the statistical data that input modules collected. multiple output modules can run at the same time. heads up though β bmon will not prevent possible conflicts, such as multiple output modules writing to the console. so like, play nice. π
the output modules that exist:
cursesβ an interactive curses-based text user interface providing real time rate estimations and a graphical representation of each attribute. press'?'to display the quick reference guide. this is the default output mode. the moment β¨asciiβ simple programmable text output intended for human consumption. it can print a list of interfaces, detailed counters, and graphs to the console. this is the default fallback output mode if curses isn't available.formatβ a fully scriptable output mode intended for consumption by other programs. see the module help text for additional information.nullβ disables output. silence, but make it fashion π
to receive additional information about a module, run it with the "help" option set like this:
bmon -o curses:help
see MODULE CONFIGURATION for more details.
π MODULE CONFIGURATION π
the syntax to configure modules goes like this:
ARGUMENT ::= mod1[:OPTS][,mod2[:OPTS]...]
OPTS ::= OPTION[;OPTION...]
OPTION ::= option[=value]
run a module with the option "help" to get the list of options for each module:
bmon -i module:help
π INTERFACE SELECTION π
the following syntax defines the interface selection policy:
SELECTION ::= NAME[,NAME[,...]]
NAME ::= [!]interface
the interface name may contain the character '*', which acts as a wildcard and represents any number of any character type β like eth*, h*0, ... you get it bestie, it's a glow-up for globbing β¨
examples:
lo,eth0,eth1
eth*,!eth0
β EXAMPLES β
to run bmon in curses mode monitoring the interfaces eth0 and eth1:
bmon -p eth0,eth1 -o curses
to run bmon in format mode, monitoring any eth* interfaces, with a specified format string:
bmon -p 'eth*' -o format:fmt='$(element:name)
$(attr:rxrate:packets)\n'
π FILES π
/etc/bmon.conf$HOME/.bmonrc
π SEE ALSO π
π AUTHOR π
Thomas Graf <tgraf@suug.ch> among others π«Ά
and that's the whole page bestie!! this one came from the Bandwidth Monitor era of bmon, and yeah, it's bmon(8) all day. go monitor some bandwidth, you got this ππΈπ¦
π¦ where this page comes from
- alpine 3.24: bmon-doc 4.0-r2 Β· BSD MIT
- arch rolling: bmon 4.0-5 Β· MIT AND BSD
- debian bookworm: bmon 1:4.0-10 Β· MIT
- debian trixie: bmon 1:4.0-10 Β· MIT
- epel 10: bmon 4.0-11.el10_0 Β· BSD-2-Clause and MIT
- epel 9: bmon 4.0-4.el9 Β· BSD and GPLv2
- fedora 43: bmon 4.0-13.fc43 Β· BSD-2-Clause and MIT
- fedora 44: bmon 4.0-15.fc44 Β· BSD-2-Clause and MIT
- nixos 26.05: bmon 4.0
- nixpkgs unstable: bmon 4.0
- ubuntu jammy: bmon 1:4.0-8 Β· MIT
- ubuntu noble: bmon 1:4.0-10 Β· MIT
- ubuntu resolute: bmon 1:4.0-10build1 Β· MIT
- ubuntu stonking: bmon 1:4.0-10build1 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms