Linux sar分析网卡流量

上一篇 / 下一篇  2016-08-01 17:43:06 / 个人分类:性能测试资料

yum install sysstat
 
sar -n { DEV | EDEV | NFS | NFSD | SOCK | ALL }
 
sar 提供六种不同的语法选项来显示网络信息。-n选项使用6个不同的开关:DEV | EDEV | NFS | NFSD | SOCK | ALL 。DEV显示网络接口信息,EDEV显示关于网络错误的统计数据,NFS统计活动的NFS客户端的信息,NFSD统计NFS服务器的信息,SOCK显示套接字信息,ALL显示所有5个开关。它们可以单独或者一起使用。
  www.2cto.com  
#sar -n DEV 2 10
Linux 2.6.18-53.el5PAE (localhost.localdomain) 03/29/2009
 
01:39:40 AM IFACE rxpck/s txpck/s rxbyt/s txbyt/s rxcmp/s txcmp/s rxmcst/s
01:39:42 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
01:39:42 AM eth1 131.34 104.98 119704.48 36110.45 0.00 0.00 0.00
01:39:42 AM sit0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
 
01:39:42 AM IFACE rxpck/s txpck/s rxbyt/s txbyt/s rxcmp/s txcmp/s rxmcst/s
01:39:44 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
01:39:44 AM eth1 168.00 165.50 114496.50 83938.50 0.00 0.00 0.00
01:39:44 AM sit0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
 
IFACE:LAN接口
 
rxpck/s:每秒钟接收的数据包
txpck/s:每秒钟发送的数据包
rxbyt/s:每秒钟接收的字节数
txbyt/s:每秒钟发送的字节数
rxcmp/s:每秒钟接收的压缩数据包
txcmp/s:每秒钟发送的压缩数据包
rxmcst/s:每秒钟接收的多播数据包
 
#sar -n EDEV 2 10
Linux 2.6.18-53.el5PAE (localhost.localdomain) 03/29/2009
  www.2cto.com  
01:42:18 AM IFACE rxerr/s txerr/s coll/s rxdrop/s txdrop/s txcarr/s rxfram/s rxfifo/s txfifo/s
01:42:20 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
01:42:20 AM eth1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
01:42:20 AM sit0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
 
IFACE:LAN接口
rxerr/s:每秒钟接收的坏数据包 
 
txerr/s:每秒钟发送的坏数据包
 
coll/s:每秒冲突数
rxdrop/s:因为缓冲充满,每秒钟丢弃的已接收数据包数
txdrop/s:因为缓冲充满,每秒钟丢弃的已发送数据包数
txcarr/s:发送数据包时,每秒载波错误数
rxfram/s:每秒接收数据包的帧对齐错误数
rxfifo/s:接收的数据包每秒FIFO过速的错误数
txfifo/s:发送的数据包每秒FIFO过速的错误数
 
#sar -n SOCK 2 10
Linux 2.6.18-53.el5PAE (localhost.localdomain) 03/29/2009
  www.2cto.com  
01:44:32 AM totsck tcpsck udpsck rawsck ip-frag
01:44:34 AM 243 9 8 0 0
01:44:36 AM 242 9 7 0 0
01:44:38 AM 238 9 7 0 0
01:44:40 AM 238 9 7 0 0
 
totsck:使用的套接字总数量
tcpsck:使用的TCP套接字数量
udpsck:使用的UDP套接字数量
 
rawsck:使用的raw套接字数量
ip-frag:使用的IP段数量

sar查看各种io
sar可用于监控Linux系统性能,帮助我们分析性能瓶颈。sar工具的使用方式为”sar [选项] intervar [count]”,其中interval为统计信息采样时间,count为采样次数。
下文将说明如何使用sar获取以下性能分析数据:
整体CPU使用统计
各个CPU使用统计
内存使用情况统计
整体I/O情况
各个I/O设备情况
网络统计

整体CPU使用统计(-u)

使用-u选项,sar输出整体CPU的使用情况,不加选项时,默认使用的就是-u选项。以下命令显示采样时间为1s,采样次数为2次,整体CPU的使用情况:

复制代码
linux:/ #sar -u 1 2Linux 2.6.16.60-0.21-smp (linux)     06/08/12

11:37:07        CPU     %user     %nice   %system   %iowait    %steal     %idle
11:37:08        all      0.00      0.00      0.25      0.00      0.00     99.75
11:37:09        all      0.00      0.00      0.25      0.00      0.00     99.75
Average:        all      0.00      0.00      0.25      0.00      0.00     99.75
复制代码

以上主要的统计项的解析如下:

%user: 用户态下CPU使用时间比率

%system: 内核态下CPU使用时间比率

%iowait: CPU等待I/O占用时间比率

%idle: CPU空闲时间比率

各个CPU使用统计(-P)

“-P ALL”选项指示对每个内核输出统计信息:

复制代码
linux:~ #sar -P ALL 1 1Linux 2.6.16.60-0.21-smp (linux)     06/08/12
 
14:04:37        CPU     %user     %nice   %system   %iowait    %steal     %idle
14:04:38        all      0.50      0.00      0.12      0.00      0.00     99.38
14:04:38          0      0.00      0.00      0.00      0.00      0.00    100.00
14:04:38          1      0.00      0.00      0.00      0.00      0.00    100.00
14:04:38          2      0.00      0.00      0.00      0.00      0.00    100.00
14:04:38          3      0.00      0.00      1.00      0.00      0.00     99.00
复制代码

其中”CPU”列输出0,1,2,3指示对应的cpu核。也可针对单独一个内核显示,“-P 1”指示显示第二个内核的统计信息。

内存使用情况统计(-r)

使用-r选项可显示内存统计信息,以下命令显示以1秒为采样时间,显示2次内存信息:

复制代码
linux:~ #sar -r  1 2Linux 2.6.16.60-0.21-smp (linux)     06/08/12

14:22:50    kbmemfree kbmemused  %memused kbbuffers  kbcached kbswpfree kbswpused  %swpused  kbswpcad
14:22:51     11727480   4564652     28.02    174460   3995108   8393920         0      0.00         0
14:22:52     11727480   4564652     28.02    174460   3995108   8393920         0      0.00         0
Average:     11727480   4564652     28.02    174460   3995108   8393920         0      0.00         0
复制代码

上面输出的内存单位为”kb”,各项的名称可自解析其含义。

整体I/O情况(-b)

使用-b选项,可以显示磁盘I/O的使用情况:

复制代码
linux:~ #sar -b 1 2Linux 2.6.16.60-0.21-smp (linux)     06/08/12

14:50:33          tps      rtps      wtps   bread/s   bwrtn/s
14:50:34         0.99      0.00      0.99      0.00      7.92
14:50:35         4.00      0.00      4.00      0.00    136.00
Average:         2.49      0.00      2.49      0.00     71.64
复制代码

以上各列的含义为:

tps: 每秒向磁盘设备请求数据的次数,包括读、写请求,为rtps与wtps的和。出于效率考虑,每一次IO下发后并不是立即处理请求,而是将请求合并(merge),这里tps指请求合并后的请求计数。

rtps: 每秒向磁盘设备的读请求次数

wtps: 每秒向磁盘设备的写请求次数

bread: 每秒从磁盘读的bytes数量

bwrtn: 每秒向磁盘写的bytes数量

各个I/O设备情况(-d)

使用-d选项可以显示各个磁盘的统计信息,再增加-p选项可以以sdX的形式显示设备名称:

复制代码
linux:~ #sar -d -p 1 1Linux 2.6.16.60-0.21-smp (linux)     06/08/12

15:43:34          DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
15:43:35          sda      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
15:43:35          sdb      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
15:43:35          sdc      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
复制代码

以上输出中DEV列以sdX的方式显示了设备名称。

网络统计(-n)

使用-n选项可以对网络使用情况进行显示,-n后接关键词”DEV”可显示eth0、eth1等网卡的信息:

复制代码
linux:~ #sar -n DEV 1 1Linux 2.6.16.60-0.21-smp (linux)     06/08/12

15:50:22        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
15:50:23           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
15:50:23         eth0     23.76      1.98      1.59      0.26      0.00      0.00      0.00
15:50:23         eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00
15:50:23         eth2      7.92      0.00      0.60      0.00      0.00      0.00      0.00
复制代码

以上主要输出含义如下:

IFACE: 网络接口名称

rxpck/s: 每秒收包的数量

txpck/s: 每秒发包的数量

rxkB/s: 每秒收的数据量(kB为单位)

txkB/s: 每秒发的数据量(kB为单位)

sar日志保存(-o)

最后讲一下如何保存sar日志,使用-o选项,我们可以把sar统计信息保存到一个指定的文件,对于保存的日志,我们可以使用-f选项读取:

linux:~ #sar -n DEV 1 10 -o sar.outlinux:~ #sar -d 1 10 -f sar.out

相比将结果重定向到一个文件,使用-o选项,可以保存更多的系统资源信息。


TAG: 流量 网卡 Linux

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar