码迷,mamicode.com
首页 > 移动开发 > 详细

sar-iostat-vmstat-参数详解

时间:2014-07-02 06:39:57      阅读:269      评论:0      收藏:0      [点我收藏+]

标签:sar   iostat   linux   vmstat   


sar

sar 是分析系统性能的重要工具之一,通过sar指令可以全面地获取系统的CPU运行队列、磁盘I/O、分页(交换分区)、内存、CPU 中断网络等性能数据。

  sar [options] [-o filename] [interval count]
options:
  -A:显示系统所有资源设备,CPU、内存、磁盘 的运行状态。
  -u:显示系统所有CPU 采样的负载。
  -P:显示当前系统中指定CPU的使用情况
  -d:显示系统所有硬盘设备在采样时间内的使用状况。
  -r:显示系统内存在采样时间内的使用状况
  -b:显示缓冲区在采样时间内的使用情况
  -v:显示进程、文件、I 节点和锁表状态
  -n:显示网络运行状态,如DEV ..
  -q:显示运行队列的大小,它与系统当时的平均负载
  -R:显示进程在采样时间内的活动情况
  -y:显示终端设备在采样时间内的活动情况
  -w:显示系统交换活动在采样时间内的状态
  -o filename  表示采样间隔时间, 是必须有的参数。
  count: 表示采样次数,可选项,默认值是 1.
EXAMPLE:
 1. sar -u 3 5   //查看CPU的整体负载,每3秒统计一次,统计 5

[root@station5 ~]# sar -u 3 5
Linux 2.6.18-53.el5 (station5.example.com)      01/08/2012
09:52:46 PM       CPU     %user     %nice   %system   %iowait    %steal     %idle
09:52:49 PM       all      0.35      0.00      1.57      0.00      0.00     98.08
09:52:52 PM       all      0.35      0.00      1.41      0.88      0.00     97.35
09:52:55 PM       all      0.17      0.00      1.22      0.00      0.00     98.60
09:52:58 PM       all      0.53      0.00      3.50      0.00      0.00     95.97
09:53:01 PM       all      0.17      0.00      1.22      0.52      0.00     98.08
Average:          all      0.32      0.00      1.79      0.28      0.00     97.62

%user列显示了用户进程小行的CPU时间百分比
%nice列显示了运行正常进程所消耗的CPU 时间百分比
%system列显示了系统进程消耗的CPU时间百分比
%iowait列显示了IO等待所占用的CPU时间百分比
%steal列显示了在内存相对紧张的环境下pagein 强制对不同的页面进行的steal操作。
%idle列显示了CPU处在空闲的时间百分比这个输出是对系统整体CPU使用状况的统计,每项的输出都非常直观,并且最后一行Average是个汇总行,是上面统计信息的一个平均值.


2. sar -P 1 3 5 //系统的CPU技术是从0开始的,如果要查看第二颗CPU 的运行负载,使用此组合。
3. sar -d 2 3   // 查看系统磁盘的读写性能  重点

Linux 2.6.18-53.el5 (station5.example.com)      01/08/2012
10:07:47 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
10:07:49 PM    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:07:49 PM   dev22-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:07:49 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
10:07:51 PM    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:07:51 PM   dev22-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:07:51 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
10:07:53 PM    dev8-0      1.04      0.00     49.74     48.00      0.00      2.50      2.50      0.26
10:07:53 PM   dev22-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:          DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util     
Average:       dev8-0      0.35      0.00     16.67     48.00      0.00      2.50      2.50      0.09
Average:      dev22-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

DEV表示磁盘设备名称
tps表示每秒到物理磁盘的传送术,也就是每秒的I/O流量。一个传送就是一个I/O 请求,多个逻辑请求可以被合并为一个物理I/O请求。
rd/sec/s表示每秒从设备读取的扇区数(1扇区)
wr_sec/s表示每秒写入设备的扇区数目
avgrq-sz表示平均每次设备I/O 操作的数据大小(以扇区为单位)如:超市排队中每人所买东西的多少
avgqu-sz表示平均I/O队列长度    如:超市排队中没人单位时间平均排队的人数
await表示平均每次设备I/O操作的等待时间(以毫秒为单位)如:类似于超市排队中每人的等待时间
svctm表示平均每次设备I/O操作的服务时间(以毫秒为单位)如:类似超市排队中收银员的收款速度
%util表示一秒种有百分之际的时间用于I/O操作。如:类似超市收银台前有人排队的时间比例。

 4. sar -r 2 3   //查看系统内存使用情况,

[root@station5 ~]# sar -r 2 3
Linux 2.6.18-53.el5 (station5.example.com)      01/08/2012
10:01:41 PM kbmemfree kbmemused  %memused kbbuffers  kbcached kbswpfree kbswpused  %swpused  kbswpcad
10:01:43 PM      7884    507592     98.47     76788    278440   1020116         0      0.00         0
10:01:45 PM      7884    507592     98.47     76788    278440   1020116         0      0.00         0
10:01:47 PM      7884    507592     98.47     76796    278432   1020116         0      0.00         0
Average:         7884    507592     98.47     76791    278437   1020116         0      0.00         0

Kbmemfree 空闲的物理内存
Kbmemused 表示已使用的物理内存空间大小
%memused 表示已使用内存占总内存大小的百分比,
kbbuffers 和 kbcached 分别表示buffer cache 和Page cache的大小,kbswpfree kbswpused  %swpused  kbswpcad
%kbcommit 和 %commit 分别表示应用程序当前使用的内存和使用百分比.

5.sar -n DEV 2 3 //网络运行状态

10:34:25 PM     IFACE   rxpck/s   txpck/s   rxbyt/s   txbyt/s   rxcmp/s   txcmp/s  rxmcst/s
10:34:27 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:34:27 PM      eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:34:27 PM      sit0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:34:27 PM     IFACE   rxpck/s   txpck/s   rxbyt/s   txbyt/s   rxcmp/s   txcmp/s  rxmcst/s
10:34:29 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:34:29 PM      eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
10:34:29 PM      sit0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
.......

IFACE表示网络接口设备。
rxpck/s表示每秒钟接收的数据包大小。
txpck/s表示每秒钟发送的数据包大小
rxbyt/s表示每秒钟接收数据包的字节数
txbyt/s表示每秒发送数据包的字节数
rxcmp/s表示每秒接收的压缩数据包  
txcmp/s 表示每秒发送的压缩数据包
rxmcst/s表示每秒钟接收的多播数据包。


iostat
  主要用于统计磁盘IO状态,但是也能查看CPU的使用信息,他的局限性是只是显示熊所有CPU的平均信息.

Example:
1. iostat -d 2 3   //查看系统磁盘的使用状况.

[root@station5 ~]# iostat -d 2 3
Linux 2.6.18-53.el5 (station5.example.com)      01/08/2012
Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               6.03       126.71        64.65     946835     483086
hdc               0.00         0.02         0.00        136          0
Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               0.00         0.00         0.00          0          0
hdc               0.00         0.00         0.00          0          0
Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               0.00         0.00         0.00          0          0
hdc               0.00         0.00         0.00          0          0

Blk_read/s表示每秒读取的数据块数
Blk_wrtn/s表示每秒写入的数据块数
Blk_read表示读取的所有块数.
Blk_wrtn表示写入的所有块数。

2. iostat -x  /dev/sda  2 3  //组合还提供了对每个磁盘的看度统计,如果不指定磁盘,默认就是对所有磁盘进行统计。

Linux 2.6.18-53.el5 (station5.example.com)      01/08/2012
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.54    0.34    4.15    1.88    0.00   93.09
Device:         rrqm/s   wrqm/s   r/s   w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               1.63     6.54  4.54  1.31   122.36    62.76    31.69     0.20   33.88   8.34   4.87
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.03    0.00    2.06    0.00    0.00   96.91
Device:         rrqm/s   wrqm/s   r/s   w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.53    0.00    4.23    0.00    0.00   95.24
Device:         rrqm/s   wrqm/s   r/s   w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.00     0.00  0.00  0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00

rrqm/s 表示每秒进行merged的读操作数目
wrqm/s 表示每秒进行merged的写操作数目
r/s表示每秒完成读I/O设备的次数
w/s表示每秒完成写I/O设备的次数
rsec/s表示每秒读取的扇区数
wsec/s表示每秒写入的扇区数

vmstat

vmstat该命令显示关于系统各种资源之间先关性能的简要信息

[root@station5 ~]# vmstat  2 3
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0   6528  77864 278604    0    0    28    14  545  137  1  4 94  2  0
 0  0      0   6504  77872 278600    0    0     0    46 1012  354  1  3 96  0  0
 0  0      0   6504  77872 278608    0    0     0     0 1005  217  1  2 98  0  0
[root@station5 ~]#

(1)procs
 r 列表示运行和等待CPU时间片的进程数,这个值如果长期大于系统CPU的个数,就说明CPU不租,需要总价CPU
 b 列表示在等待资源的进程数,比如正在等待I/O或者内存交换等
(2)memory
 swpd 列表示切换到内存交换区的内存数量(以KB为单位)。如果swpd的值不为0,或者比较大,而且si,so的值长期为0, 不影响系统性能
 free 列表示当前空闲的物理内存数量(KB为单位)
 buff 列表示buffers cache 的内存数量, 一般对块设备的读写才需要缓冲
 cache 列表示page cached的内存数量,一般作为文件系统cached,频繁访问的文件都会被cached。 如果cache值较大,就说明cached的文件数较多,如果此时IO中bi比较小,表明文件系统效率比较好。

(3)swap
 si列表示由磁盘调入内存,也就是内存进入内存交换区的数量
 so列表示内存调入硬盘,也就是内存交换区进入内存的数量
 通常si so 都为0, 若此两列长期不为O,则表示系统内存不租,需要增加系统内存。
(4)io 显示磁盘读写情况
bi列表示从块设备读入数据的总量,  每秒/kb
bo列表示写入到快设备的数据总量,
一般bi+bo 参考值为1000, 如果超过1000,而且wa值较大,则表示系统磁盘IO有问题,需要提高磁盘的读写性能
(5)system
in 列表示在某一时间间隔中观测到的每秒设备中断数
cs 列表示每秒产生的上下文切换次数
(6)cpu
us 列显示用户进程消耗的cpu时间百分比,参考值 50%, 超过则需要优化
sy列显示了内核进程消耗的CPU时间百分比,sy值较高时,说明内核消耗的CPU资源很多
us+sy的参考值为80%,大于则需要调整
id列显示了CPU 处在空间的时间比
wa列显示IO等待所暂用的CPU时间百分比。wa值越高,说明IO等待越严重.
综上,需要注意的是procs 项 r 列的值和cpu项中us、sy 和id列的值

本文出自 “每天进步一点点” 博客,请务必保留此出处http://lj119.blog.51cto.com/605062/1433002

sar-iostat-vmstat-参数详解,布布扣,bubuko.com

sar-iostat-vmstat-参数详解

标签:sar   iostat   linux   vmstat   

原文地址:http://lj119.blog.51cto.com/605062/1433002

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!