linux统计一分钟网卡流量,Linux 下统计网卡的流量-Go语言中文社区

1.原理

eth0的网口上分析报告会输出到这些文件中:(不同的网卡目录是对对应的网卡名称)

/sys/class/net/eth0/statistics/rx_packets: 收到的数据包数据

/sys/class/net/eth0/statistics/tx_packets: 传输的数据包数量

/sys/class/net/eth0/statistics/rx_bytes: 接收的字节数

/sys/class/net/eth0/statistics/tx_bytes: 传输的字节数

/sys/class/net/eth0/statistics/rx_dropped: 当收到包数据包下降的数据量

/sys/class/net/eth0/statistics/tx_dropped: 传输包数据包下降的数据量

2.脚本

测量网口每秒数据包:

#!/bin/bash

INTERVAL="1"  # update interval in seconds

if [ -z "$1" ]; then

echo

echo usage: $0 [network-interface]

echo

echo e.g. $0 eth0

echo

echo shows packets-per-second

exit

fi

IF=$1

while true

do

R1=`cat /sys/class/net/$1/statistics/rx_packets`

T1=`cat /sys/class/net/$1/statistics/tx_packets`

sleep $INTERVAL

R2=`cat /sys/class/net/$1/statistics/rx_packets`

T2=`cat /sys/class/net/$1/statistics/tx_packets`

TXPPS=`expr $T2 - $T1`

RXPPS=`expr $R2 - $R1`

echo "TX $1: $TXPPS pkts/s RX $1: $RXPPS pkts/s"

done

网络带宽测量

#!/bin/bash

INTERVAL="1"  # update interval in seconds

if [ -z "$1" ]; then

echo

echo usage: $0 [network-interface]

echo

echo e.g. $0 eth0

echo

exit

fi

IF=$1

while true

do

R1=`cat /sys/class/net/$1/statistics/rx_bytes`

T1=`cat /sys/class/net/$1/statistics/tx_bytes`

sleep $INTERVAL

R2=`cat /sys/class/net/$1/statistics/rx_bytes`

T2=`cat /sys/class/net/$1/statistics/tx_bytes`

TBPS=`expr $T2 - $T1`

RBPS=`expr $R2 - $R1`

TKBPS=`expr $TBPS / 1024`

RKBPS=`expr $RBPS / 1024`

echo "TX $1: $TKBPS kb/s RX $1: $RKBPS kb/s"

done

3.dstat

安装 yum -y install dstat

00b09d7d883556bcc8aea3628ad7fbc1.png

59080

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值