Kozupon.com    
 
 Bwmonで伝送路の速度を知る!


Bwmon (Home of bwmon Linux Bandwidth Monitor) は、ネットワークの帯域の使用状況を監視するモジュールである。オフィシャルサイトは、 ここ です。
GUIでも使えるらしいが、情報があまりにも少ないソフトなので、とりあえずテキストで手っ取り早く計測させることにした。イーサーネットカードに対する送信・受信の帯域をリアルタイムに計測してくれた。
ただし、果たしてこいつがどの位の精度を持っているかは、良く解らない(笑)。

ここで説明するマシンの環境:
wirehork:~# more /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 7
model name : Pentium III (Katmai)
stepping : 3
cpu MHz : 598.663
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov p
at pse36 mmx fxsr sse up
bogomips : 1198.45
clflush size : 32

wirehork:~# lspci
00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 03)
00:01.0 PCI bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03)
00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 02)
00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
00:07.2 USB Controller: Intel Corporation 82371AB/EB/MB PIIX4 USB (rev 01)
00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 02)
00:0e.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
01:00.0 VGA compatible controller: nVidia Corporation NV5 [RIVA TNT2/TNT2 Pro] (rev 11)

wirehork:~# uname -a
Linux wirehork 2.6.21-2-686 #1 Debian GNU/Linux


1.インストール
1)ソースのゲット
wirehork:~# cd /usr/local/src/
wirehork:/usr/local/src# wget http://prdownloads.sourceforge.net/bwmon/bwmon-1.3.tar.gz?download
--11:32:55-- http://prdownloads.sourceforge.net/bwmon/bwmon-1.3.tar.gz?download
=> `bwmon-1.3.tar.gz?download'
Resolving prdownloads.sourceforge.net... 66.35.250.217
Connecting to prdownloads.sourceforge.net|66.35.250.217|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://downloads.sourceforge.net/bwmon/bwmon-1.3.tar.gz?download [following]
--11:32:55-- http://downloads.sourceforge.net/bwmon/bwmon-1.3.tar.gz?download
=> `bwmon-1.3.tar.gz?download'
Resolving downloads.sourceforge.net... 66.35.250.203
Connecting to downloads.sourceforge.net|66.35.250.203|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://nchc.dl.sourceforge.net/sourceforge/bwmon/bwmon-1.3.tar.gz [following]
--11:32:56-- http://nchc.dl.sourceforge.net/sourceforge/bwmon/bwmon-1.3.tar.gz
=> `bwmon-1.3.tar.gz'
Resolving nchc.dl.sourceforge.net... 211.79.61.10, 2001:e10:5c00:1::10
Connecting to nchc.dl.sourceforge.net|211.79.61.10|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5,668 (5.5K) [application/x-gzip]

100%[====================================>] 5,668 --.--K/s

11:32:57 (138.61 KB/s) - `bwmon-1.3.tar.gz' saved [5668/5668]

2)ソースの展開
wirehork:/usr/local/src# tar zxvf bwmon-1.3.tar.gz
bwmon-1.3/Makefile
bwmon-1.3/README
bwmon-1.3/include/
bwmon-1.3/include/bwmon.h
bwmon-1.3/src/
bwmon-1.3/src/Makefile
bwmon-1.3/src/bwmon.c

wirehork:/usr/local/src# chown -R root.root bwmon-1.3

3)makeする
wirehork:/usr/local/src/bwmon-1.3# make
Making all in src
make[1]: Entering directory `/usr/local/src/bwmon-1.3/src'
gcc -I../include -Wall -D__THREADS -c -o bwmon.o bwmon.c
gcc -lpthread -lncurses -o ../bwmon bwmon.o
make[1]: Leaving directory `/usr/local/src/bwmon-1.3/src'

4)リンクする
wirehork:/usr/local/src/bwmon-1.3# make install
Making all in src
make[1]: Entering directory `/usr/local/src/bwmon-1.3/src'
gcc -lpthread -lncurses -o ../bwmon bwmon.o
make[1]: Leaving directory `/usr/local/src/bwmon-1.3/src'
install bwmon /usr/local/bin


2.実際に動かす
1)ヘルプを出す
wirehork:/usr/local/src/bwmon-1.3# bwmon -h

Linux Network Bandwidth Monitor $Revision: 1.3 $
by Kimmo Nupponen (kimmoon@users.sourceforge.net)
$Date: 2002/05/08 06:33:09 $

usage: bwmon [-b] [-h] [-a] [-m] [-u seconds]
-a Print bandwidth utiliasation in Kbytes rather than Kbits. The default
is to use Kbits
-a Print also average bandwidth since last boot per interface
-m Print maximum bandwidth since launch of this utility
-h Print this help message
-u Update timeout (integer value)

Use <space-bar> to refresh the screen before update timeout expires
Use 'q' or 'Q' to exit this utility

Note that you have to have proc mounted to allow this software
to work!

2)帯域計測してみる
手っ取り早いのは、 bwmon -a コマンドでリアルタイム計測可能(図1参照)
wirehork:/usr/local/src/bwmon-1.3# bwmon -a


  図1

終わるには、「q」Keyを押す。以下のメッセージが出て終わり。
Exiting from Linux bandwidth monitor!

以上


 
 
 



Copyright 2009 Kozupon.com.