zoukankan      html  css  js  c++  java
  • 使用 sar 查看网卡的流量

    1、常用命令

    sar -n DEV #查看当天从零点到当前时间的网卡流量信息
    sar -n DEV 1 10 #每秒显示一次,共显示10次
    sar -n DEV -f /var/log/sa/saxx #查看xx日的网卡流量历史
    sar -q #查看历史负载
    sar -b #查看磁盘读写

    DEV显示网络接口信息

    另外,-n参数很有用,他有6个不同的开关:DEV | EDEV | NFS | NFSD | SOCK | ALL ,其代表的含义如下:

    • DEV显示网络接口信息。

    • EDEV显示关于网络错误的统计数据。

    • NFS统计活动的NFS客户端的信息。

    • NFSD统计NFS服务器的信息

    • SOCK显示套接字信息

    • ALL显示所有5个开关

    2、查看网卡历史流量 #sar -n DEV

    12:00:01 AM 时间
    IFACE 表示设备名称(LAN接口) rxpck
    /s 每秒接收数据包的数量 txpck/s 每秒发出数据包的数量 rxKB/s 每秒接收的数据量(字节数),单位KByte 1KB=1000byte=8000bit txKB/s 每秒发出的数据量(字节数),单位KByte
    rxcmp/s:每秒钟接收的压缩数据包
    txcmp/s:每秒钟发送的压缩数据包
    rxmcst/s:每秒钟接收的多播数据包
    rxerr/s:每秒钟接收的坏数据包

    txerr/s:每秒钟发送的坏数据包
    coll/s:每秒冲突数
    rxdrop/s:因为缓冲充满,每秒钟丢弃的已接收数据包数
    txdrop/s:因为缓冲充满,每秒钟丢弃的已发送数据包数
    txcarr/s:发送数据包时,每秒载波错误数
    rxfram/s:每秒接收数据包的帧对齐错误数
    rxfifo/s:接收的数据包每秒FIFO过速的错误数
    txfifo/s:发送的数据包每秒FIFO过速的错误数

    注意:

    若服务器丢包非常严重,需要查看网卡流量是否异常。接收数据部分 rxpck大于4000,或者rxKB大于5000,则有可能被攻击了,正常服务器网卡流量没有这么大。除非自己在拷贝数据。
    计算实际速度,取 rxkb或txkb的峰值,换算成KB,比如是686KByte,然后用686*8/1000=5.4MBit
    Bytes 字节,缩写为B 【电脑硬盘的最小单位】
    bit 位, 1Byte=8bit 【网络中最小的单位】

    bps =bit per second 每秒位数
    pps =package per second 每秒数据包 Mb ,Gb,10Gb
    10Gb=10000Mb 【电脑中1GB=1024MB,网络中1Gb=1000Mb】

    宽带10Mb,下载速度是1.25MB,10Mb=10Mbit 10Mbit/8=1.25Mbyte=1.25MB

    3、查看某一天的网卡历史流量

    Redhat 或者 CentOS 发行版 sar 的库文件一定是在 /var/log/sa/ 目录下。ls /var/log/sa/ 发现下面两种类型的文件,sa开头加日期,sar开头加日期,sa开头的文件不能直接cat,只能用 sar -f 查看,sar开头的可以用cat查看。
    sar 命令会每个月循环使用,这个月sa01查看的是这个月1号的网卡流量,不能查看再之前的网卡流量。


    #sar -f /var/log/sa/saDD DD表示数字,25表示25号,29表示29号

    4、实时查看网卡的流量

    sar –n DEV  1 2   # 命令后面1 2 意思是:每一秒钟取1次值,取2次。

    5、 cat /proc/net/dev

    Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。/proc文件系统中包含了很多目录,其中/proc/net/dev 保存了网络适配器及统计信息

     最左边的表示接口的名字,Receive表示收包,Transmit表示发送包;  bytes表示收发的字节数;  packets表示收发正确的包量;  errs表示收发错误的包量;  drop表示收发丢弃的包量;

  • 相关阅读:
    [转] css3变形属性transform
    [转] ReactJS之JSX语法
    [转] 那些在使用webpack时踩过的坑
    [转] jQuery的deferred对象详解
    [转] Webpack-CommonsChunkPlugin
    [转] 用webpack的CommonsChunkPlugin提取公共代码的3种方式
    Refs & DOM
    [转] Webpack的devtool和source maps
    [转] 编译输出文件的区别
    GDB && QString
  • 原文地址:https://www.cnblogs.com/yfacesclub/p/12015466.html
Copyright © 2011-2022 走看看