[转帖]linux网络速率监控

linux,网络,速率,监控 · 浏览次数 : 0

小编点评

**监控网卡传输速率** ```bash #!/bin/bash # 加载系统环境变量 source /etc/profile # 加载用户环境变量 set -o nounset # 避免意外退出时出现 "variable is undefined" 错误 set -o errexit # 当执行任何语句返回非 0 状态时退出 net_monitor() { interface=$1 # 检查网卡是否存在 ifconfig $interface > /dev/null 2>&1 # 获取网卡接收和发送速率 RX1=$(cat /proc/net/dev | grep $interface | awk -F \":\" '{print $2}' | awk -F \" \" '{print $1}') TX1=$(cat /proc/net/dev | grep $interface | awk -F \":\" '{print $2}' | awk -F \" \" '{print $9}') # 计算总速率 let total_RX=$RX2-$RX1 let total_TX=$TX2-$TX1 # 输出速率信息 if [ $total_RX -lt 1024 ];then total_RX="${total_RX} B/s" elif [ $total_RX -gt 1048576 ];then total_RX=$(echo $total_RX | awk '{printf \"%.2f\",$1/1048576}')\" MB/s" else total_RX=$(echo $total_RX | awk '{printf \"%.2f\",$1/1024}')\" KB/S" fi if [ $total_TX -lt 1024 ];then total_TX="${total_TX} B/s" elif [ $total_TX -gt 1048576 ];then total_TX=$(echo $total_TX | awk '{printf \"%.2f\",$1/1048576}')\" MB/s" else total_TX=$(echo $total_TX | awk '{printf \"%.2f\",$1/1024}')\" KB/S" fi # 输出网卡速率信息 echo "$interface 接收: $total_RX 发送: $total_TX" } while true; do echo "---------------------------------------------------------------" for i in ${INET[@]}; do net_monitor $i done donedone。归纳总结以上内容,生成内容时需要带简单的排版 ```

正文

https://www.cnblogs.com/leffss/p/7832074.html

 

#!/bin/bash
#作者:fafu_li
#时间:2015.10.14
#监控网卡传输速率

source /etc/profile            #加载系统环境变量
source $HOME/.bash_profile    #加载用户环境变量
set -o nounset                 #引用未初始化变量时终止执行,也可以set -u
#set -o errexit                #执行任何语句返回非0状态时终止执行,也可以set -e

#定义监控的网卡
INET=("eth0" "lo")

net_monitor() {
    interface=$1
    ifconfig $interface > /dev/null 2>&1
    if [[ $? != 0 ]];then
        echo "$interface 不存在"
    else 
        RX1=$(cat /proc/net/dev | grep $interface | awk -F ":" '{print $2}' | awk -F " " '{print $1}')
        TX1=$(cat /proc/net/dev | grep $interface | awk -F ":" '{print $2}' | awk -F " " '{print $9}')
        sleep 1
        RX2=$(cat /proc/net/dev | grep $interface | awk -F ":" '{print $2}' | awk -F " " '{print $1}')
        TX2=$(cat /proc/net/dev | grep $interface | awk -F ":" '{print $2}' | awk -F " " '{print $9}')
        let total_RX=$RX2-$RX1
        let total_TX=$TX2-$TX1
        if [ $total_RX -lt 1024 ];then
            total_RX="${total_RX} B/s"
        elif [ $total_RX -gt 1048576 ];then    
            total_RX=$(echo $total_RX | awk '{printf "%.2f",$1/1048576}')" MB/s"
        else
            total_RX=$(echo $total_RX | awk '{printf "%.2f",$1/1024}')" KB/S"
        fi
        if [ $total_TX -lt 1024 ];then
            total_TX="${total_TX} B/s"
        elif [ $total_TX -gt 1048576 ];then    
            total_TX=$(echo $total_TX | awk '{printf "%.2f",$1/1048576}')" MB/s"
        else
            total_TX=$(echo $total_TX | awk '{printf "%.2f", $1/1024}')" KB/S"
        fi
        echo "$interface 接收: $total_RX 发送: $total_TX"
    fi
}

while true;do
    echo "---------------------------------------------------------------"
    for i in ${INET[@]};do
        net_monitor $i
    done
done

与[转帖]linux网络速率监控相似的内容:

[转帖]linux网络速率监控

https://www.cnblogs.com/leffss/p/7832074.html #!/bin/bash #作者:fafu_li #时间:2015.10.14 #监控网卡传输速率 source /etc/profile #加载系统环境变量 source $HOME/.bash_profil

[转帖]Linux服务器上监控网络带宽的18个常用命令-2

https://www.cnblogs.com/fan-yuan/p/9231501.html 本文介绍了一些可以用来监控网络使用情况的Linux命令行工具。这些工具可以监控通过网络接口传输的数据,并测量目前哪些数据所传输的速度。入站流量和出站流量分开来显示。 这些工具使用不同的机制来制作流量报告。

[转帖]Linux工具之nethogs命令

一、nethogs命令简介 NetHogs是一个小型的net top工具,不像大多数工具那样拖慢每个协议或者是每个子网的速度而是按照进程进行带宽分组。NetHogs不需要依赖载入某个特殊的内核模块。如果发生了网络阻塞你可以启动NetHogs立即看到哪个PID造成的这种状况。这样就很容易找出哪个程序跑

[转帖]Linux 网络栈原理、监控与调优:前言(2022)

http://arthurchiao.art/blog/linux-net-stack-zh/ Published at 2022-07-02 | Last Update 2022-07-02 本文尝试从技术研发与工程实践(而非纯理论学习)角度,在原理与实现、监控告警、 配置调优三方面介绍内核5.1

[转帖]Linux 网络栈接收数据(RX):原理及内核实现(2022)

http://arthurchiao.art/blog/linux-net-stack-implementation-rx-zh/ Published at 2022-07-02 | Last Update 2022-08-28 Fig. Steps of Linux kernel receivin

[转帖]Linux 网络栈接收数据(RX):配置调优(2022)

http://arthurchiao.art/blog/linux-net-stack-tuning-rx-zh/ 本文尝试从技术研发与工程实践(而非纯理论学习)角度,在原理与实现、监控告警、 配置调优三方面介绍内核5.10 网络栈。由于内容非常多,因此分为了几篇系列文章。 原理与实现 Linux

[转帖]Linux 网络栈接收数据(RX):原理及内核实现(2022)

http://arthurchiao.art/blog/linux-net-stack-implementation-rx-zh/ Fig. Steps of Linux kernel receiving data process and the corresponding chapters in

[转帖]linux 网络虚拟化: ipvlan

https://cizixs.com/2017/02/17/network-virtualization-ipvlan/ 简介 IPVlan 和 macvlan 类似,都是从一个主机接口虚拟出多个虚拟网络接口。一个重要的区别就是所有的虚拟接口都有相同的 macv 地址,而拥有不同的 ip 地址。因为

[转帖]Linux网络命令之 `brctl`

文章目录 1 网桥的概念2 管理网桥的命令3 举例 1 网桥的概念 摘自百度百科: 网桥(Bridge)是早期的两端口二层网络设备,用来连接不同网段。 网桥是一种对帧进行转发的技术,根据 MAC 分区块,可隔离碰撞。网桥将网络的多个网段在数据链路层连接起来。 网桥也叫桥接器,是连接两个局域网的一种存

[转帖]linux网络常见概念

Linux用户态和内核态 为了减少有限资源的访问和使用冲突,Unix/Linux的设计哲学之一就是:对不同的操作赋予不同的执行等级,就是所谓特权的概念。简单说就是有多大能力做多大的事,与系统相关的一些特别关键的操作必须由最高特权的程序来完成。Intel的X86架构的CPU提供了0到3四个特权级,数字