shell awk实现实时监控网卡流量脚本(常见应用二)

实现原理:
[chengmo@localhost ~]$ cat /proc/net/dev
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
lo:1068205690 1288942839 0 0 0 0 0 0 1068205690 1288942839 0 0 0 0 0 0
eth0:91581844 334143895 0 0 0 0 0 145541676 4205113078 3435231517 0 0 0 0 0 0

proc/net/dev 文件保存了网卡总流量信息,通过间隔一段间隔,将入网卡与出记录加起来。减去之前就得到实际速率。

程序代码:

复制代码

代码如下:

awk 'BEGIN{
OFMT="%.3f";
devf="/proc/net/dev";
while(("cat "devf) | getline)
{
if($0 ~ /:/ && ($10+0) > 0)
{
split($1,tarr,":");
net[tarr[1]]=$10+tarr[2];
print tarr[1],$10+tarr[2];
}
}
close(devf);
while((system("sleep 1 ")) >=0)
{
system("clear");
while( getline < devf )
{
if($0 ~ /:/ && ($10+0) > 0)
{
split($1,tarr,":");
if(tarr[1] in net)
{
print tarr[1],":",($10+tarr[2]-net[tarr[1]])*8/1024,"kb/s";
net[tarr[1]]=$10+tarr[2];
}
}
}
close(devf);
}
}'

说明:第一个while 是获得总的初始值,$1是网卡出流量,$10是网卡进流量。第2个while会间隔1秒钟启动一次。计算总流量差得到平均每秒流量。

注意:通过getline 逐行读取文件,需要close关闭 。否则在第2次while循环中不能获得数据。

运行结果:

(0)

相关推荐

  • Centos下利用Nload监控网卡流量的方法

    nload是个很好用的流量监控工具,功能也很强.可以实时地监控网卡的流量,分Incoming,Outgoing两部分,也就是流入与流出的流量。同时统计当前,平均,最小,最大,总流量的值,使人看了一目了 ...

  • linux iftop网卡流量监控工具命令大全

    Iftop 主要用来显示本机网络流量情况及各相互通信的流量集合,如单独同那台机器间的流量大小,非常适合于代理服务器和iptables服务器使用查看网络状态可以使用netstat、nmap等工具。若要查 ...

  • linux中查看网卡流量六种方法

    方法一.nload工具 源码包路径: 查看参数帮助命令: nload –help -a:这个好像是全部数据的刷新时间周期,单位是秒,默认是300. -i:进入网卡的流量图的显示比例最大值设置,默认10 ...

  • 用加速人生来实时监控网速 做你电脑的好管家

    加速人生(下载地址:http://www./softs/56721.html)全新推出网速监控功能,帮你限制无关程序的网速占有,全方位提升上网速度。 打开“加速人生”,可以看到加速人生的5个功能界面, ...

  • 加速人生:实时监控网速 你电脑的好管家

    网速很慢,怎么办?你是否一人独享4M的网络,上网的速度却慢得像1M?快来和加速人生一起看看,到底是你电脑里哪些程序“捣蛋”,偷偷在后台“侵占”你的网速吧!加速人生全新推出网速监控功能,帮你限制无关程序 ...

  • 怎么用腾讯手机管家监控手机流量

    腾讯手机管家是一款手机安全与管理软件,它能实时保护我们的手机,可是,我们怎么用它来监控手机流量呢?话不多说,小编今天为您呈上解决这个问题的方法.具体如下:1. 首先,我们在手机里找到"腾讯手 ...

  • 用Spotlight实时监控Windows Server 2008

    Windows Server 2008作为服务器平台已逐渐被推广和应用,丰富的功能和良好的稳定性为其赢得了不错的口碑。但是和Windows Server 2003相比,其系统的自我监控功能并没有多大的 ...

  • 百度杀毒怎么设置实时监控

    百度杀毒怎么设置实时监控

  • Linux Shell脚本系列教程(二):终端打印命令详解

    这篇文章主要介绍了Linux Shell脚本系列教程(二):终端打印命令详解,本文着重讲解了echo终端打英printf终端打印两个打印出输出命令,需要的朋友可以参考下 终端打印 终端是交互式工具,用 ...