首页 电脑 电脑学堂 查看内容

简单的带宽测试小脚本

2009-11-25 12:47 408 0

摘要:   这是一个简单的脚本,通过定时读取/proc/net/dev文件来得出某个时刻输出的速度和输入的速度。  代码如下:  #!/bin/bash  # test network width  func...
关键词: nbsp Byte old timer typeset proc dif eth print grep

  这是一个简单的脚本,通过定时读取/proc/net/dev文件来得出某个时刻输出的速度和输入的速度。  代码如下:  #!/bin/bash  # test network width  function usage  {  echo "Usage: $0  "  echo "    e.g. $0 eth0 2"  exit 65  }  if [ $# -lt 2 ];then  usage  fi  typeset in in_old dif_in  typeset out out_old dif_out  typeset timer  typeset eth  eth=$1  timer=$2  in_old=$(cat /proc/net/dev | grep $eth | sed -e "s/\(.*\)\:\(.*\)/\2/g" | awk ' { print $1 }' )  out_old=$(cat /proc/net/dev | grep $eth | sed -e "s/\(.*\)\:\(.*\)/\2/g" | awk ' { print $9 }' )  while true  do  sleep ${timer}  in=$(cat /proc/net/dev | grep $eth | sed -e "s/\(.*\)\:\(.*\)/\2/g" | awk ' { print $1 }' )  out=$(cat /proc/net/dev | grep $eth | sed -e "s/\(.*\)\:\(.*\)/\2/g" | awk ' { print $9 }' )  dif_in=$(((in-in_old)/timer))  dif_out=$(((out-out_old)/timer))  echo "IN: ${dif_in} Byte/s OUT: ${dif_out} Byte/s"  in_old=${in}  out_old=${out}  done  exit 0执行的效果如下:  # ./netwidth  eth1 2  IN: 14293 Byte/s   OUT: 33869 Byte/s  IN: 123571 Byte/s   OUT: 88281 Byte/s  IN: 6485 Byte/s   OUT: 38938 Byte/s其实ifconfig eth1输出结果中的 RX和TX数据一致的。  RX bytes:1662142572 (1.5 GiB)  TX bytes:3408404141 (3.1 GiB)
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部