用 bmon 檢視網路頻寬使用情況

Sandra Henry-stocker發表於2019-11-07

介紹一下 bmon,這是一個監視和除錯工具,可捕獲網路統計資訊並使它們易於理解。

bmon 是一種監視和除錯工具,可在終端視窗中捕獲網路統計資訊,並提供瞭如何以易於理解的形式顯示以及顯示多少資料的選項。

要檢查系統上是否安裝了 bmon,請使用 which 命令:

$ which bmon
/usr/bin/bmon

獲取 bmon

在 Debian 系統上,使用 sudo apt-get install bmon 安裝該工具。

對於 Red Hat 和相關發行版,你可以使用 yum install bmonsudo dnf install bmon 進行安裝。或者,你可能必須使用更復雜的安裝方式,例如使用以下命令,這些命令首先使用 root 帳戶或 sudo 來設定所需的 libconfuse

# wget https://github.com/martinh/libconfuse/releases/download/v3.2.2/confuse-3.2.2.zip
# unzip confuse-3.2.2.zip && cd confuse-3.2.2
# sudo PATH=/usr/local/opt/gettext/bin:$PATH ./configure
# make
# make install
# git clone https://github.com/tgraf/bmon.git &&ammp; cd bmon
# ./autogen.sh
# ./configure
# make
# sudo make install

前面五行會安裝 libconfuse,而後面五行會獲取並安裝 bmon 本身。

使用 bmon

啟動 bmon 的最簡單方法是在命令列中鍵入 bmon。根據你正在使用的視窗的大小,你能夠檢視並顯示各種資料。

顯示區域的頂部將顯示你的網路介面的統計資訊:環回介面(lo)和可通過網路訪問的介面(例如 eth0)。如果你的終端視窗只有區區幾行高,下面這就是你可能會看到的所有內容,它將看起來像這樣:

lo bmon 4.0
Interfaces                     x RX bps pps     %x TX bps pps     %
 >lo                           x      4B0      x0     0 0     4B        0
    qdisc none (noqueue) x      0 0      x      0 0
  enp0s25                      x    244B0      x1     0 0   470B        2
    qdisc none (fq_codel)      x      0 0      x      0 0   462B        2
q Increase screen height to see graphical statistics qq


q Press d to enable detailed statistics qq
q Press i to enable additional information qq
 Wed Oct 23 14:36:27 2019 Press ? for help

在此示例中,網路介面是 enp0s25。請注意列出的介面下方的有用的 “Increase screen height” 提示。拉伸螢幕以增加足夠的行(無需重新啟動 bmon),你將看到一些圖形:

Interfaces                     x RX bps       pps     %x TX bps       pps     %
 >lo                           x      0         0      x      0         0
    qdisc none (noqueue)       x      0         0      x      0         0
  enp0s25                      x    253B        3      x   2.65KiB      6
    qdisc none (fq_codel)      x      0         0      x   2.62KiB      6
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
                              (RX Bytes/second)
    0.00 ............................................................
    0.00 ............................................................
    0.00 ............................................................
    0.00 ............................................................
    0.00 ............................................................
    0.00 ............................................................
         1   5   10   15   20   25   30   35   40   45   50   55   60
                              (TX Bytes/second)
    0.00 ............................................................
    0.00 ............................................................
    0.00 ............................................................
    0.00 ............................................................
    0.00 ............................................................
    0.00 ............................................................
         1   5   10   15   20   25   30   35   40   45   50   55   60

但是請注意,該圖形未顯示值。這是因為它正在顯示環回 “>lo” 介面。按下箭頭鍵指向公共網路介面,你將看到一些流量。

Interfaces                     x RX bps       pps     %x TX bps       pps     %
  lo                           x      0         0      x      0         0
    qdisc none (noqueue)       x      0         0      x      0         0
 >enp0s25                      x    151B        2      x   1.61KiB      3
    qdisc none (fq_codel)      x      0         0      x   1.60KiB      3
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
       B                      (RX Bytes/second)
  635.00 ...............................|............................
  529.17 .....|.........................|....|.......................
  423.33 .....|................|..|..|..|..|.|.......................
  317.50 .|..||.|..||.|..|..|..|..|..|..||.||||......................
  211.67 .|..||.|..||.|..||||.||.|||.||||||||||......................
  105.83 ||||||||||||||||||||||||||||||||||||||......................
         1   5   10   15   20   25   30   35   40   45   50   55   60
     KiB                      (TX Bytes/second)
    4.59 .....................................|......................
    3.83 .....................................|......................
    3.06 ....................................||......................
    2.30 ....................................||......................
    1.53 |||..............|..|||.|...|.|||.||||......................
    0.77 ||||||||||||||||||||||||||||||||||||||......................
         1   5   10   15   20   25   30   35   40   45   50   55   60


q Press d to enable detailed statistics qq
q Press i to enable additional information qq
 Wed Oct 23 16:42:06 2019 Press ? for help

通過更改介面,你可以檢視顯示了網路流量的圖表。但是請注意,預設值是按每秒位元組數顯示的。要按每秒位數來顯示,你可以使用 bmon -b 啟動該工具。

如果你的視窗足夠大並按下 d 鍵,則可以顯示有關網路流量的詳細統計資訊。你看到的統計資訊示例如下所示。由於其寬度太寬,該顯示分為左右兩部分。

左側:

RX        TX   │                  RX      TX   │
 Bytes          11.26MiB  11.26MiB│ Packets       25.91K  25.91K  │
 Collisions         -         0   │ Compressed        0       0   │
 Errors             0         0   │ FIFO Error        0       0   │
 ICMPv6             2         2   │ ICMPv6 Checksu    0       -   │
 Ip6 Broadcast      0         0   │ Ip6 Broadcast     0       0   │
 Ip6 Delivers       8         -   │ Ip6 ECT(0) Pac    0       -   │
 Ip6 Header Err     0         -   │ Ip6 Multicast     0     152B  │
 Ip6 Non-ECT Pa     8         -   │ Ip6 Reasm/Frag    0       0   │
 Ip6 Reassembly     0         -   │ Ip6 Too Big Er    0       -   │
 Ip6Discards        0         0   │ Ip6Octets       530B    530B  │
 Missed Error       0         -   │ Multicast         -       0   │
 Window Error       -         0   │                               │

右側:

│                  RX      TX   │                  RX      TX
│ Abort Error       -       0   │ Carrier Error     -       0
│ CRC Error         0       -   │ Dropped           0       0
│ Frame Error       0       -   │ Heartbeat Erro    -
│ ICMPv6 Errors     0       0   │ Ip6 Address Er    0       -
│ Ip6 CE Packets    0       -   │ Ip6 Checksum E    0       -
│ Ip6 ECT(1) Pac    0       -   │ Ip6 Forwarded     -       0
│ Ip6 Multicast     0       2   │ Ip6 No Route      0       0
│ Ip6 Reasm/Frag    0       0   │ Ip6 Reasm/Frag    0       0
│ Ip6 Truncated     0       -   │ Ip6 Unknown Pr    0       -
│ Ip6Pkts           8       8   │ Length Error      0
│ No Handler        0       -   │ Over Error        0       -

如果按下 i 鍵,將顯示網路介面上的其他資訊。

左側:

MTU                        1500 | Flags    broadcast,multicast,up |
Address       00:1d:09:77:9d:08 | Broadcast ff:ff:ff:ff:ff:ff     |
Family                   unspec | Alias                           |

右側:

| Operstate                 up | IfIndex                   2 |
| Mode                 default | TXQlen                 1000 |
| Qdisc               fq_codel |

如果你按下 ? 鍵,將會出現一個幫助選單,其中簡要介紹瞭如何在螢幕上移動游標、選擇要顯示的資料以及控制圖形如何顯示。

要退出 bmon,輸入 q,然後輸入 y 以響應提示來確認退出。

需要注意的一些重要事項是:

  • bmon 會將其顯示調整為終端視窗的大小
  • 顯示區域底部顯示的某些選項僅在視窗足夠大可以容納資料時才起作用
  • 除非你使用 -R(例如 bmon -R 5)來減慢顯示速度,否則每秒更新一次顯示

via: https://www.networkworld.com/article/3447936/viewing-network-bandwidth-usage-with-bmon.html

作者:Sandra Henry-Stocker 選題:lujun9972 譯者:wxy 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

用 bmon 檢視網路頻寬使用情況

訂閱“Linux 中國”官方小程式來檢視

相關文章