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表示收发丢弃的包量;