sar network statistics

sar is an excellent research tool for disk I / O's. The following is an example of sar disk I / O output.

 

The first line -d Displays disk I / O information, 52 options are iterative interval and, like sar data collector that. Table 3-3 lists the fields and descriptions.

Table 3-3 sar -d field

Field

Description

DEV

Disk Device

tps

Transmission per second (or IO per second)

rd_sec/s

Reads 512 bytes per second

wr_sec/s

512 bytes per second writes

Just a measurement unit 512, does not indicate that all disk I / O 512-byte blocks are used. DEV column is dev # - # format disk device, wherein a first apparatus main number is #, # is twice the second number or consecutive numbers. For the core is greater than 2.5, sar using minor number. For example, see the sar -d output dev3-0 and dev3-1. They correspond to the / dev / hda and / dev / hdal. Look at / dev in the following:

 

/ Dev / hda main numbers and sub numbers 0 3. hda1 main and minor numbers 1 No 3.

3.2.4   Network Statistics

sar offers four different syntax options to display network information. -n option uses four different switches: DEV, EDEV, SOCK and FULL. DEV display network interface information, EDEV display statistics about network errors, SOCK display socket information, FULL shows all three switches. They may be used alone or together. Table 3-4 shows the field with the option -n DEV report.

Table 3-4 sar -n DEV field

Field

Description

IFACE

LAN interface

rxpck/s

Packets received per second

txpck/s

Data packets sent per second

rxbyt/s

The number of bytes received per second

txbyt/s

The number of bytes transmitted per second

rxcmp/s

Compressed data packets received per second

txcmp/s

Compressed packets sent per second

rxmcst/s

Per second received multicast packet

The following are options sar -n DEV output:

 

 

关于网络错误的信息可以用sar -n EDEV显示。表3-5列出了显示的字段。

 

 

表3-5                                                sar -n EDEV字段

字    段

说    明

IFACE

LAN接口

rxerr/s

每秒钟接收的坏数据包

txerr/s

每秒钟发送的坏数据包

coll/s

每秒冲突数

rxdrop/s

因为缓冲充满,每秒钟丢弃的已接收数据包数

txdrop/s

因为缓冲充满,每秒钟丢弃的已发送数据包数

txcarr/s

发送数据包时,每秒载波错误数

rxfram/s

每秒接收数据包的帧对齐错误数

rxfifo/s

接收的数据包每秒FIFO过速的错误数

txfifo/s

发送的数据包每秒FIFO过速的错误数

SOCK参数显示IPCS套接字信息。表3-6列出显示的字段及其意义。

表3-6                                                sar -n SOCK字段

字    段

说    明

totsck

使用的套接字总数量

tcpsck

使用的TCP套接字数量

udpsck

使用的UDP套接字数量

rawsck

使用的raw套接字数量

ip-frag

使用的IP段数量

 

 

sar可以产生许多其他报告。我们有必要仔细阅读sar(1)手册页,查看是否有自己需要的其他报告

 

例二:使用命行sar -v t n

  

  例如,每30秒采样一次,连续采样5次,观察核心表的状态,需键入如下命令:

  

  # sar -v 30 5

  

  屏幕显示:

        SCO_SV scosysv 3.2v5.0.5 i80386 10/01/2001

        10:33:23 proc-sz ov inod-sz ov file-sz ov lock-sz   (-v)

  10:33:53 305/ 321  0 1337/2764  0 1561/1706 0 40/ 128

  10:34:23 308/ 321  0 1340/2764  0 1587/1706 0 37/ 128

  10:34:53 305/ 321  0 1332/2764  0 1565/1706 0 36/ 128

  10:35:23 308/ 321  0 1338/2764  0 1592/1706 0 37/ 128

  10:35:53 308/ 321  0 1335/2764  0 1591/1706 0 37/ 128

  

  显示内容包括:

  

  proc-sz:目前核心中正在使用或分配的进程表的表项数,由核心参数MAX-PROC控制。

  

  inod-sz:目前核心中正在使用或分配的i节点表的表项数,由核心参数MAX-INODE控制。

  

  file-sz: 目前核心中正在使用或分配的文件表的表项数,由核心参数MAX-FILE控制。

  

  ov:溢出出现的次数。

  

  Lock-sz:目前核心中正在使用或分配的记录加锁的表项数,由核心参数MAX-FLCKRE控制。

  

  显示格式为

  

  实际使用表项/可以使用的表项数

  

  显示内容表示,核心使用完全正常,三个表没有出现溢出现象,核心参数不需调整,如果出现溢出时,要调整相应的核心参数,将对应的表项数加大。

  

  例三:使用命行sar -d t n

  

  例如,每30秒采样一次,连续采样5次,报告设备使用情况,需键入如下命令:

  

  # sar -d 30 5

  

  屏幕显示:

  

        SCO_SV scosysv 3.2v5.0.5 i80386 10/01/2001

  11:06:43 device %busy   avque   r+w/s  blks/s  avwait avserv (-d)

  11:07:13 wd-0   1.47   2.75   4.67   14.73   5.50 3.14

  11:07:43 wd-0   0.43   18.77   3.07   8.66   25.11 1.41

  11:08:13 wd-0   0.77   2.78   2.77   7.26   4.94 2.77

  11:08:43 wd-0   1.10   11.18   4.10   11.26   27.32 2.68

  11:09:13 wd-0   1.97   21.78   5.86   34.06   69.66 3.35

  Average wd-0   1.15   12.11   4.09   15.19   31.12 2.80

  

  显示内容包括:

  

   device: sar命令正在监视的块设备的名字。

    %busy: 设备忙时,传送请求所占时间的百分比。

    avque: 队列站满时,未完成请求数量的平均值。

    r+w/s: 每秒传送到设备或从设备传出的数据量。

    blks/s: 每秒传送的块数,每块512字节。

    avwait: 队列占满时传送请求等待队列空闲的平均时间。

    avserv: 完成传送请求所需平均时间(毫秒)。

  

  在显示的内容中,wd-0是硬盘的名字,%busy的值比较小,说明用于处理传送请求的有效时间太少,文件系统效率不高,一般来讲,%busy值高些,avque值低些,文件系统的效率比较高,如果%busy和avque值相对比较高,说明硬盘传输速度太慢,需调整。

  

  例四:使用命行sar -b t n

  

  例如,每30秒采样一次,连续采样5次,报告缓冲区的使用情况,需键入如下命令:

  

  # sar -b 30 5

  

  屏幕显示:

  

    SCO_SV scosysv 3.2v5.0.5 i80386 10/01/2001

  14:54:59 bread/s lread/s %rcache bwrit/s lwrit/s %wcache pread/s pwrit/s (-b)

  14:55:29 0  147  100  5  21  78   0   0

  14:55:59 0  186  100  5  25  79   0   0

  14:56:29 4  232   98  8  58  86   0   0

  14:56:59 0  125  100  5  23  76   0   0

  14:57:29 0   89  100  4  12  66   0   0

  Average  1  156   99  5  28  80   0   0

  

  显示内容包括:

  

  bread/s: 每秒从硬盘读入系统缓冲区buffer的物理块数。

  lread/s: 平均每秒从系统buffer读出的逻辑块数。

  %rcache: 在buffer cache中进行逻辑读的百分比。

  bwrit/s: 平均每秒从系统buffer向磁盘所写的物理块数。

  lwrit/s: 平均每秒写到系统buffer逻辑块数。

  %wcache: 在buffer cache中进行逻辑读的百分比。

  pread/s: 平均每秒请求物理读的次数。

  pwrit/s: 平均每秒请求物理写的次数。

  

  在显示的内容中,最重要的是%cache和%wcache两列,它们的值体现着buffer的使用效率,%rcache的值小于90或者%wcache的值低于65,应适当增加系统buffer的数量,buffer数量由核心参数NBUF控制,使%rcache达到90左右,%wcache达到80左右。但buffer参数值的多少影响I/O效率,增加buffer,应在较大内存的情况下,否则系统效率反而得不到提高。

  

  例五:使用命行sar -g t n

  

  例如,每30秒采样一次,连续采样5次,报告串口I/O的操作情况,需键入如下命令:

  

  # sar -g 30 5

  

  屏幕显示:

  

  SCO_SV scosysv 3.2v5.0.5 i80386  11/22/2001

  17:07:03  ovsiohw/s  ovsiodma/s  ovclist/s (-g)

  17:07:33   0.00   0.00   0.00

  17:08:03   0.00   0.00   0.00

  17:08:33   0.00   0.00   0.00

  17:09:03   0.00   0.00   0.00

  17:09:33   0.00   0.00   0.00

  Average    0.00   0.00   0.00

  

  显示内容包括:

  

  ovsiohw/s:每秒在串口I/O硬件出现的溢出。

  

  ovsiodma/s:每秒在串口I/O的直接输入输出通道高速缓存出现的溢出。

  

  ovclist/s :每秒字符队列出现的溢出。

  

  在显示的内容中,每一列的值都是零,表明在采样时间内,系统中没有发生串口I/O溢出现象。

  

  sar命令的用法很多,有时判断一个问题,需要几个sar命令结合起来使用,比如,怀疑CPU存在瓶颈,可用sar -u 和sar -q来看,怀疑I/O存在瓶颈,可用sar -b、sar -u和sar-d来看。

  --------------------------------------------------------------------------------

  Sar

  -A 所有的报告总和

  -a 文件读,写报告

  -B 报告附加的buffer cache使用情况

  -b buffer cache使用情况

  -c 系统调用使用报告

  -d 硬盘使用报告

  -g 有关串口I/O情况

  -h 关于buffer使用统计数字

  -m IPC消息和信号灯活动

  -n 命名cache

  -p 调页活动

  -q 运行队列和交换队列的平均长度

  -R 报告进程的活动

  -r 没有使用的内存页面和硬盘块

  -u CPU利用率

  -v 进程,i节点,文件和锁表状态

  -w 系统交换活动

  -y TTY设备活动

  

  

  -a 报告文件读,写报告

   sar –a 5 5

  SCO_SV scosvr 3.2v5.0.5 PentII(D)ISA 06/07/2002

  11:45:40 iget/s namei/s dirbk/s (-a)

  11:45:45 6 2 2

  11:45:50 91 20 28

  11:45:55 159 20 18

  11:46:00 157 21 19

  11:46:05 177 30 35

  Average 118 18 20

  

  iget/s 每秒由i节点项定位的文件数量

  namei/s 每秒文件系统路径查询的数量

  dirbk/s 每秒所读目录块的数量

  

  *这些值越大,表明核心花在存取用户文件上的时间越多,它反映着一些程序和应用文件系统产生的负荷。一般地,如果iget/s与namei/s的比值大于5,并且namei/s的值大于30,则说明文件系统是低效的。这时需要检查文件系统的自由空间,看看是否自由空间过少。

  

  

  -b 报告缓冲区(buffer cache)的使用情况

   sar -b 2 3

  SCO_SV scosvr 3.2v5.0.5 PentII(D)ISA 06/07/2002

  13:51:28 bread/s lread/s %rcache bwrit/s lwrit/s %wcache pread/s pwrit/s (-b)

  13:51:30 382 1380 72 131 273 52 0 0

  13:51:32 378 516 27 6 22 72 0 0

  13:51:34 172 323 47 39 57 32 0 0

  Average 310 739 58 58 117 50 0 0

  

  bread/s 平均每秒从硬盘(或其它块设备)读入系统buffer的物理块数

  lread/s 平均每秒从系统buffer读出的逻辑块数

  %rcache 在buffer cache中进行逻辑读的百分比(即100% - bread/lreads)

  bwrit/s 平均每秒从系统buffer向磁盘(或其它块设备)所写的物理块数

  lwrit/s 平均每秒写到系统buffer的逻辑块数

  %wcache 在buffer cache中进行逻辑写的百分比(即100% - bwrit/lwrit).

  pread/sgu 平均每秒请求进行物理读的次数

  pwrit/s 平均每秒请求进行物理写的次数

  

  *所显示的内容反映了目前与系统buffer有关的读,写活。在所报告的数字中,最重要的是%rcache和%wcache(统称为cache命中率)两列,它们具体体现着系统buffer的效率。衡量cache效率的标准是它的命中率值的大小。

  *如果%rcache的值小于90或者%wcache的值低于65,可能就需要增加系统buffer的数量。如果在系统的应用中,系统的I/O活动十分频繁,并且在内存容量配置比较大时,可以增加buffer cache,使%rcache达到95左右,%wcache达到80左右。

  *系统buffer cache中,buffer的数量由核心参数NBUF控制。它是一个要调的参数。系统中buffer数量的多少是影响系统I/O效率的瓶颈。要增加系统buffer数量,则要求应该有较大的内存配置。否则一味增加buffer数量,势必减少用户进程在内存中的运行空间,这同样会导致系统效率下降。

  

  

  -c 报告系统调用使用情况

   sar -c 2 3

  SCO_SV scosvr 3.2v5.0.5 PentII(D)ISA 06/07/2002

  17:02:42 scall/s sread/s swrit/s fork/s exec/s rchar/s wchar/s (-c)

  17:02:44 2262 169 141 0.00 0.00 131250 22159

  17:02:46 1416 61 38 0.00 0.00 437279 6464

  17:02:48 1825 43 25 0.00 0.00 109397 42331

  Average 1834 91 68 0.00 0.00 225975 23651

  

  scall/s 每秒使用系统调用的总数。一般地,当4~6个用户在系统上工作时,每秒大约30个左右。

  sread/s 每秒进行读操作的系统调用数量。

  swrit/s 每秒进行写操作的系统调用数量。

  fork/s 每秒fork系统调用次数。当4~6个用户在系统上工作时,每秒大约0.5秒左右。

  exec/s 每秒exec系统调用次数。

  rchar/s 每秒由读操作的系统调用传送的字符(以字节为单位)。

  wchar/s 每秒由写操作的系统调用传送的字符(以字节为单位)。

  *如果scall/s持续地大于300,则表明正在系统中运行的可能是效率很低的应用程序。在比较典型的情况下,进行读操作的系统调用加上进行写操作的系统调用之和,约是scall的一半左右。

  

  

  -d 报告硬盘使用情况

   sar -d 2 3

  SCO_SV scosvr 3.2v5.0.5 PentII(D)ISA 06/07/2002

  17:27:49 device %busy avque r+w/s blks/s avwait avserv (-d)

  17:27:51 ida-0 6.93 1.00 13.86 259.41 0.00 5.00

  ida-1 0.99 1.00 17.33 290.10 0.00 0.57

  17:27:53 ida-0 75.50 1.00 54.00 157.00 0.00 13.98

  ida-1 9.50 1.00 12.00 75.00 0.00 7.92

  17:27:55 ida-0 7.46 1.00 46.77 213.93 0.00 1.60

  ida-1 17.41 1.00 57.71 494.53 0.00 3.02

  Average ida-0 29.85 1.00 38.14 210.28 0.00 7.83

  ida-1 9.29 1.00 29.02 286.90 0.00 3.20

  

  

  device 这是sar命令正在监视的块设备的名字。

  %busy 设备忙时,运行传送请求所占用的时间。这个值以百分比表示。

  avque 在指定的时间周期内,没有完成的请求数量的平均值。仅在队列被占满时取这个值。

  r+w/s 每秒传送到设备或者从设备传送出的数据量。

  blks/s 每秒传送的块数。每块512个字节。

  avwait 传送请求等待队列空闲的平均时间(以毫秒为单位)。仅在队列被占满时取这个值。

  avserv 完成传送请求所需平均时间(以毫秒为单位)

  *ida-0和ida-1是硬盘的设备名字。在显示的内容中,如果%busy的值比较小,说明用于处理传送请求的有效时间太少,文件系统的效率不高。要使文件系统的效率得到优化,应使%busy的数值相对高一些,而avque的值应该低一些。

  

  

  -g 报告有关串口I/O情况

   sar -g 3 3

  SCO_SV scosvr 3.2v5.0.5 PentII(D)ISA 06/13/2002

  11:10:09 ovsiohw/s ovsiodma/s ovclist/s (-g)

  11:10:12 0.00 0.00 0.00

  11:10:15 0.00 0.00 0.00

  11:10:18 0.00 0.00 0.00

  Average 0.00 0.00 0.00

  

  ovsiohw/s 每秒在串囗I/O硬件出现的溢出。

  ovsiodma/s 每秒在串囗I/O的直接输入,输出信道高速缓存出现的溢出。

  ovclist/s 每秒字符队列出现的溢出。

  

  

  -m 报告进程间的通信活动(IPC消息和信号灯活动)情况

   sar -m 4 3

  SCO_SV scosvr 3.2v5.0.5 PentII(D)ISA 06/13/2002

  13:24:28 msg/s sema/s (-m)

  13:24:32 2.24 9.95

  13:24:36 2.24 21.70

  13:24:40 2.00 36.66

  Average 2.16 22.76

  

  msg/s 每秒消息操作的次数(包括发送消息的接收信息)。

  sema/s 每秒信号灯操作次数。

  *信号灯和消息作为进程间通信的工具,如果在系统中运行的应用过程中没有使用它们,那么由sar命令报告的msg 和sema的值都将等于0.00。如果使用了这些工具,并且其中或者msg/s大于100,或者sema/s大于100,则表明这样的应用程序效率比较低。原因是在这样的应用程序中,大量的时间花费在进程之间的沟通上,而对保证进程本身有效的运行时间必然产生不良的影响。

  

  

  -n 报告命名缓冲区活动情况

   sar -n 4 3

  SCO_SV scosvr 3.2v5.0.5 PentII(D)ISA 06/13/2002

  13:37:31 c_hits cmisses (hit %) (-n)

  13:37:35 1246 71 (94%)

  13:37:39 1853 81 (95%)

  13:37:43 969 56 (94%)

  Average 1356 69 (95%)

  

  c_hits cache命中的数量。

  cmisses cache未命中的数量。

  (hit %) 命中数量/(命中数理+未命中数量)。

  *不难理解,(hit %)值越大越好,如果它低于90%,则应该调整相应的核心参数。

  

  

  -p 报告分页活动

   sar -p 5 3

  SCO_SV scosvr 3.2v5.0.5 PentII(D)ISA 06/13/2002

  13:45:26 vflt/s pflt/s pgfil/s rclm/s (-p)

  13:45:31 36.25 50.20 0.00 0.00

  13:45:36 32.14 58.48 0.00 0.00

  13:45:41 79.80 58.40 0.00 0.00

  Average 49.37 55.69 0.00 0.00

  

  vflt/s 每秒进行页面故障地址转换的数量(由于有效的页面当前不在内存中)。

  pflt/s 每秒来自由于保护错误出现的页面故障数量(由于对页面的非法存,取引起的页面故障)。

  pgfil/s 每秒通过”页—入”满足vflt/s的数量。

  rclm/s 每秒由系统恢复的有效页面的数量。有效页面被增加到自由页面队列上。

  *如果vflt/s的值高于100,可能预示着对于页面系统来说,应用程序的效率不高,也可能分页参数需要调整,或者内存配置不太合适。

  

  

  -q 报告进程队列(运行队列和交换队列的平均长度)情况

   sar -q 2 3

  SCO_SV scosvr 3.2v5.0.5 PentII(D)ISA 06/13/2002

  14:25:50 runq-sz %runocc swpq-sz %swpocc (-q)

  14:25:52 4.0 50

  14:25:54 9.0 100

  14:25:56 9.0 100

  Average 7.3 100

  

  runq-sz 准备运行的进程运行队列。

  %runocc 运行队列被占用的时间(百分比)

  swpq-sz 要被换出的进程交换队列。

  %swpocc 交换队列被占用的时间(百分比)。

  *如果%runocc大于90,并且runq-sz的值大于2,则表明CPU的负载较重。其直接后果,可能使系统的响应速度降低。如果%swpocc大于20,表明交换活动频繁,将严重导致系统效率下降。解决的办法是加大内存或减少缓存区数量,从而减少交换及页—入,页—出活动。

  

  

  -r 报告内存及交换区使用情况(没有使用的内存页面和硬盘块)

   sar -r 2 3

  SCO_SV scosvr 3.2v5.0.5 PentII(D)ISA 06/14/2002

  10:14:19 freemem freeswp availrmem availsmem (-r)

  10:14:22 279729 6673824 93160 1106876

  10:14:24 279663 6673824 93160 1106876

  10:14:26 279661 6673824 93160 1106873

  Average 279684 6673824 93160 1106875

  

  freemem 用户进程可以使用的内存页面数,4KB为一个页面。

  freeswp 用于进程交换可以使用的硬盘盘块,512B为一个盘块。

  

  

  -u CPU利用率

   sar -u 2 3

  SCO_SV scosvr 3.2v5.0.5 PentII(D)ISA 06/14/2002

  10:27:23 %usr %sys %wio %idle (-u)

  10:27:25 2 3 8 88

  10:27:27 3 3 5 89

  10:27:29 0 0 0 100

  Average 2 2 4 92

  .

  %usr cpu处在用户模式下时间(百分比)

  %sys cpu处在系统模式下时间(百分比)

  %wio cpu等待输入,输出完成(时间百分比)

  %idle cpu空闲时间(百分比)

  *在显示的内容中,%usr和 %sys这两个值一般情况下对系统无特别影响,%wio的值不能太高,如果%wio的值过高,则CPU花在等待输入,输出上的时间太多,这意味着硬盘存在I/O瓶颈。如果%idle的值比较高,但系统响应并不快,那么这有可能是CPU花时间等待分配内存引起的。%idle的值可以较深入帮助人们了解系统的性能,在这种情况上,%idle的值处于40~100之间,一旦它持续低于30,则表明进程竟争的主要资源不是内存而是CPU。

  *在有大量用户运行的系统中,为了减少CPU的压力,应该使用智能多串卡,而不是非智能多串卡。智能多串卡可以承担CPU的某些负担。

  *此外,如果系统中有大型的作业运行,应该把它们合理调度,错开高峰,当系统相对空闲时再运行。

  

  

  -v 报告系统表的内容(进程,i节点,文件和锁表状态)

   sar -v 2 3

  SCO_SV scosvr 3.2v5.0.5 PentII(D)ISA 06/14/2002

  10:56:46 proc-sz ov inod-sz ov file-sz ov lock-sz (-v)

  10:56:48 449/ 500 0 994/4147 0 1313/2048 0 5/ 128

  10:56:50 450/ 500 0 994/4147 0 1314/2048 0 5/ 128

  10:56:52 450/ 500 0 994/4147 0 1314/2048 0 5/ 128

  

  proc-sz 目前在核心中正在使用或分配的进程表的表项数

  inod-sz 目前在核心中正在使用或分配的i节点表的表项数

  file-sz 目前在核心中正在使用或分配的文件表的表项数

  ov 溢出出现的次数

  lock-sz 目前在核心中正在使用或分配的记录加锁的表项数

  *除ov外,均涉及到unix的核心参数,它们分别受核心参数NPROC,NIMODE,NFILE和FLOCKREC的控制。

  *显示格式为:

  实际使用表项/整个表可以使用的表项数

  比如,proc-sz一列所显示的四个数字中,分母的100是系统中整个进程表的长度(可建立100个表项),分子上的24,26和25分别是采样的那一段时间所使用的进程表项。inod-sz,file-sz和lock-sz三列数字的意义也相同。

  三列ov的值分别对应进程表,i节点表和文件表,表明目前这三个表都没有出现溢出现象,当出现溢出时,需要调整相应的核心参数,将对应表加大。

  

  

  -w 系统交换活动

   sar -w 2 3

  SCO_SV scosvr 3.2v5.0.5 PentII(D)ISA 06/14/2002

  11:22:05 swpin/s bswin/s swpot/s bswots pswch/s (-w)

  11:22:07 0.00 0.0 0.00 0.0 330

  11:22:09 0.00 0.0 0.00 0.0 892

  11:22:11 0.00 0.0 0.00 0.0 1053

  Average 0.00 0.0 0.00 0.0 757

  

  swpin/s 每秒从硬盘交换区传送进入内存的次数。

  bswin/s 每秒为换入而传送的块数。

  swpot/s 每秒从内存传送到硬盘交换区的次数。

  bswots 每秒为换出而传送的块数。

  pswch/s 每秒进程交换的数量。

  *swpin/s,bswin/s,swpot/s和bswots描述的是与硬盘交换区相关的交换活动。交换关系到系统的效率。交换区在硬盘上对硬盘的读,写操作比内存读,写慢得多,因此,为了提高系统效率就应该设法减少交换。通常的作法就是加大内存,使交换区中进行的交换活动为零,或接近为零。如果swpot/s的值大于1,预示可能需要增加内存或减少缓冲区(减少缓冲区能够释放一部分自由内存空间)。

Guess you like

Origin www.cnblogs.com/fanweisheng/p/11109175.html