Linux入门教程:图形化之流量监控和IO监控

安得情怀似旧时 2011-02-17

iftop工具

用途: 用来即时监看网路状态和各ip所使用的频宽

执行(必须以root身份)

监控eth1的网卡的流量

# iftop -i eth1

以位元组(bytes)为单位显示流量(预设是位元bits):

$ iftop -B

直接显示IP, 不进行DNS反解:

$ iftop -n

直接显示连接埠编号, 不显示服务名称:

$ iftop -N

显示某个网段进出封包流量

$ iftop -F 192.168.1.0/24 or 192.168.1.0/255.255.255.0

其他参数可下 iftop -h 看说明。

进入iftop画面时, 可按 p 切换是否显示连接埠, n 切换显示IP或主机的domain name, N切换显示连接埠代号或名称, p暂停显示, b切换是否显示长条, B切换计算几秒内的平均流量, 其他按键可以按h观看说明。

设定档的位置在~/.iftoprc , 关於设定档的写法可以参考 iftop 的 info page.

nload

用途: 用来即时监看网路状态和各ip所使用的频宽(很废话了)

nload默认的是eth0网卡,如果你想监测eth1网卡的流量

#nload eth1

nload 默认分为上下两块:上半部分是:Incoming也就是进入网卡的流量,下半部分是:Outgoing,也就是从这块网卡出去的流量,每 部分都有当前流量(Curr),平均流量(Avg),最小流量(Min),最大流量(Max),总和流量(Ttl)这几个部分,看起来还是蛮直观的。

另外,你也可以自己定义流量数值显示的单位

#nload –help

就可以看到具体的相关参数了。

查看网络平均流量

下面的脚本可以很好的监控你的网络的平均流量,你可以提定时间

#!/bin/bash

echo -n “which nic?”

read eth

echo “the nic is “$eth

echo -n “how much seconds:”

read sec

echo “duration is “$sec” seconds, wait please…”

infirst=$(awk ‘/’ $eth ‘/{print $1 }’ /proc/net/dev |sed ‘s/’ $eth’ ://’)

outfirst=$(awk ‘/’ $eth’ /{print $10 }’ /proc/net/dev)

sumfirst=$(($infirst+$outfirst))

sleep $sec”s”

inend=$(awk ‘/’ $eth’ /{print $1 }’ /proc/net/dev |sed ‘s/’ $eth’ ://’)

outend=$(awk ‘/’ $eth’ /{print $10 }’ /proc/net/dev)

sumend=$(($inend+$outend))

sum=$(($sumend-$sumfirst))

echo $sec” seconds total :”$sum”bytes”

aver=$(($sum/$sec))

echo “avrage :”$aver”bytes/sec”

还有一个叫ipband的软件听讲不错,有兴趣可以到http://ipband.sourceforge.net /看看

IO图形化监控

windows的任务管理器很不错,可以直接看到进程和对应IO的情况,linux也有了,不过要求python》=2.5,内核》;=2.6.20

相关推荐