Linux 查看实时网卡流量的方法 nload sar iftop

 1.使用nload

yum install -y gcc gcc-c++ ncurses-devel make wget

wget http://www.roland-riegel.de/nload/nload-0.7.4.tar.gz

tar zxf nload-0.7.4.tar.gz && cd nload-0.7.4 && ./configure && make && make install

# nload ens33

 有图形界面显示,比较直观

  

2.sar 计量脚本

sar(System Activity Reporter 系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘 I/O、CPU 效率、内存使用状况、进程活动及 IPC 有关的活动等。

yum -y install sysstat

 # cat flow
#!/bin/bash

ethn
=$1 while true do RX_pre=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $2}') TX_pre=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $10}') sleep 1 RX_next=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $2}') TX_next=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $10}') clear echo -e "\t RX `date +%k:%M:%S` TX" RX=$((${RX_next}-${RX_pre})) TX=$((${TX_next}-${TX_pre})) if [[ $RX -lt 1024 ]];then RX="${RX}B/s" elif [[ $RX -gt 1048576 ]];then RX=$(echo $RX | awk '{print $1/1048576 "MB/s"}') else RX=$(echo $RX | awk '{print $1/1024 "KB/s"}') fi if [[ $TX -lt 1024 ]];then TX="${TX}B/s" elif [[ $TX -gt 1048576 ]];then TX=$(echo $TX | awk '{print $1/1048576 "MB/s"}') else TX=$(echo $TX | awk '{print $1/1024 "KB/s"}') fi
  echo -e "$ethn \t $RX   $TX "

done

# bash flow ens33
         RX  5:36:49 TX
ens33    259.268KB/s   2.26172KB/s

Reference:Linux查看实时网卡流量的几种方式

3.使用iftop

yum -y install flex byacc  libpcap ncurses ncurses-devel libpcap-devel

wget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz

tar zxvf iftop-0.17.tar.gz && cd iftop-0.17

./configure && make && make install

# iftop

 Reference:Linux流量监控工具 - iftop (最全面的iftop教程)

 iftop虽然也有图形化,但是无效内容太多,单一需求使用nload比较方便

猜你喜欢

转载自www.cnblogs.com/Firewalld/p/12164015.html