`
mikixiyou
  • 浏览: 1097942 次
  • 性别: Icon_minigender_1
  • 来自: 南京
博客专栏
C3c8d188-c0ab-3396-821d-b68331e21226
Oracle管理和开发
浏览量:352818
社区版块
存档分类
最新评论

计算Linux网卡流量

阅读更多

写了一个通过固定间隔时间获取ifconfig eth0 的字节值而计算出网卡流量的方法。

方法中最关键点就是这个:

ifconfig $eth_name | grep bytes | awk '{print $6}' | awk -F : '{print $2}'

通过ifconfig  eth0|grep bytes 得到输入输出的流量。

/@rac2=>dd2$ifconfig eth0|grep bytes

          RX bytes:1638005313300 (1.4 TiB)  TX bytes:3408060482049 (3.0 TiB)

再将结果通过awk 得出所要的字段值。

(墙内链接: http://mikixiyou.iteye.com/blog/1523866 )

固定时间得到这些值,在写个循环计算一下就能得到网卡流量。完整的方法脚本如下:

#!/bin/bash

if [ -n "$1" ]; then

eth_name=$1

else

eth_name="eth0"

fi

if [ -n "$2" ]; then

all_time=$2

else

all_time=900

fi

 

i=0

 

v1_b=`ifconfig $eth_name | grep bytes | awk '{print $6}' | awk -F : '{print $2}'`

v2_b=`ifconfig $eth_name | grep bytes | awk '{print $2}' | awk -F : '{print $2}'`

 

 

v1_t=$v1_b

v2_t=$v2_b

 

#echo "$v1_t"

 

while [ $i -le $all_time ]; do

 

sleep 1

 

v1_c=`ifconfig $eth_name | grep bytes | awk '{print $6}' | awk -F : '{print $2}'`

#echo "$v1_c"

v2_c=`ifconfig $eth_name | grep bytes | awk '{print $2}' | awk -F : '{print $2}'`

 

i=`expr $i + 1`

 

v1_rate=`expr \( $v1_c - $v1_t \) / 1024`

v2_rate=`expr \( $v2_c - $v2_t \) / 1024`

 

v_rate=`expr \( $v1_rate + $v2_rate \) `

 

v1_t=$v1_c

v2_t=$v2_c

 

 

v1_avg_rate=`expr \( $v1_c - $v1_b \) / $i / 1024`

v2_avg_rate=`expr \( $v2_c - $v2_b \) / $i / 1024`

v_avg_rate=`expr \( $v1_avg_rate + $v2_avg_rate \) `

 

clear

echo "=================================================================================================================="

echo "`date`"

echo "send: $v1_rate KB/s accept: $v2_rate KB/s netrate: $v_rate KB/s avg send: $v1_avg_rate KB/s avg accept: $v2_avg_rate KB/s avg rate: $v_avg_rate KB/s"

echo "=================================================================================================================="

done

1
1
分享到:
评论

相关推荐

    Linux查看或统计网卡流量的方式详解.docx

    Linux 查看或统计网卡流量的方式详解 Linux 查看或统计网卡流量的方式详解是指在 Linux 服务器上查看或统计网卡流量的各种方法。网卡流量是指计算机通过网络接口发送或接收的数据量,它是衡量网络性能和服务器性能...

    详解Linux查看实时网卡流量的几种方式

    ### 详解Linux查看实时网卡流量的几种方式 在日常运维工作中,监控和管理服务器的网络流量是一项重要的任务。这不仅有助于了解当前网络环境的状态,还可以帮助排查性能问题、优化资源配置以及确保系统的稳定运行。...

    统计网卡流量的两段shell脚本(使用ifconfig)

    使用shell脚本计算Linux网卡流量,方法中最关键点: 代码如下: ifconfig $eth_name | grep bytes | awk ‘{print $6}’ | awk -F : ‘{print $2}’ 通过ifconfig eth0|grep bytes 得到输入输出的流量。 代码...

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

    Linux iftop 网卡流量监控工具命令大全 Iftop 是一种实时流量监控工具,主要用来显示本机网络流量情况及各相互通信的流量集合,如单独同那台机器间的流量大小。它非常适合于代理服务器和 iptables 服务器使用查看...

    Linux服务器网卡流量查看方法 shell和Python各一枚

    本文将介绍两种方法来查看Linux服务器的网卡流量,分别是使用Shell脚本和Python脚本。 首先,我们来看Shell脚本的方法。这个简单的Shell脚本通过读取`/proc/net/dev`文件来获取网卡的接收(RX)和发送(TX)字节数...

    linux下c/c++获取网卡的连接速度和工作模式

    linux下c/c++获取网卡的连接速度和工作模式

    linux下里面如何获取网卡的实时网速

    在Linux操作系统中,获取网卡的实时网速是一项常见的需求,尤其对于系统管理员和开发者来说。Linux提供了多种方法来监控网络接口的流量,以便了解网络性能。以下是一些常用的方法和命令,帮助你在Linux下实现类似...

    网卡流量监控、带宽测试、上网速度测试

    本文将详细介绍如何通过软件工具实现网卡流量监控、带宽测试以及上网速度测试。 首先,网卡流量监控是实时或定期监测网络接口的数据传输速率,它可以帮助我们了解网络的使用状况,识别潜在的性能瓶颈或者异常流量...

    linux下,获取网卡的收发速率

    总结,获取Linux下网卡的收发速率涉及对`ifconfig`等命令的理解和应用,可以通过手动计算或者使用第三方工具来实现。理解这些工具和方法对于网络管理、故障排查和性能优化至关重要。在实际操作中,可以根据具体需求...

    eth_test.rar_eth 测试网卡_eth+测试网卡_linux 双网卡_双网卡

    "Linux_双网卡"这个标签暗示了这个压缩包中的资源与在Linux操作系统上配置和管理两个以太网卡相关。在Linux中,可以使用ifconfig、iproute2工具或者网路管理系统如Systemd Networkd来配置和管理网络接口。对于双网卡...

    linux网络流量工具

    本文将详细介绍一种简单的Linux网络流量监控脚本——`catstream`,该脚本能够实时监控指定网卡(如eth0)的入站和出站流量。 #### 二、核心知识点 ##### 1. **脚本执行原理** - **文件读取**:脚本通过读取`/...

    NSTAT网卡流量监测

    **NSTAT网卡流量监测详解** NSTAT,全称为Network Statistics,是一款强大的网络监控工具,主要功能是实时监测和分析计算机网络的流量情况。通过NSTAT,用户可以获取到当前网络连接状态的详细信息,包括数据包的...

    Linux双网卡绑定实现负载均衡和失效保护

    ### Linux双网卡绑定实现负载均衡和失效保护 #### 一、引言 在现代网络环境中,为了提高网络连接的可靠性和性能,采用多种技术手段是必不可少的。其中,Linux下的双网卡绑定技术(Bonding)作为一种有效的解决方案...

    几个常用的Linux操作系统监控脚本.doc

    该脚本用于监控主机网卡流量,通过 ifconfig 命令获取网络流量信息,并计算出当前的网卡流量速度,最后输出当前时间和网卡流量速度。 在该脚本中,我们使用了 while 循环来不断获取网络流量信息,并计算出当前的...

    C语言实现获取网络带宽占用情况

    采用C语言实现,获取服务器指定网卡的网络流量并计算单位时间的网速,从而计算相应网卡的带宽占用率。

    linux 双网卡绑定脚本 多主机管理命令同时执行 脚本

    在Linux系统中,双网卡绑定(Bonding)是一种网络冗余和负载均衡技术,它允许将多个物理网络接口(NICs)组合成一个逻辑接口,以提高网络连接的可靠性和带宽。这个"linux 双网卡绑定脚本 多主机管理命令同时执行 ...

    linux流量监控脚本

    该脚本主要用于监控Linux系统中eth0网卡的接收和发送流量,并记录最高传输速率。 ##### 2.1 初始化变量与获取当前流量值 ```bash #!/bin/bash R1=`cat /sys/class/net/eth0/statistics/rx_bytes` T1=`cat /sys/...

    Linux流量控制管理架构.pdf

    在Linux操作系统中,流量控制管理架构对于优化网络资源的分配和利用至关重要。本文主要探讨了Linux如何通过其核心体系结构、数据传递机制和数据转发过程来实现有效的流量控制,以解决网络资源使用的不平衡问题。 ...

    获取上网流量

    获取网卡流量的过程通常涉及到操作系统提供的API(应用程序编程接口)或者是使用专门的网络监测工具。在Windows系统中,我们可以利用Performance Counter API来获取网卡的接收(Rx)和发送(Tx)流量。Performance ...

Global site tag (gtag.js) - Google Analytics