sar概述
<a></a>
sar 命令将 操作系统中选定的累计活动计数器的内容写到标准输出。基于 number 和 interval 参数的值,记帐系统以指定的时间间隔(以秒为单位)和指定间隔次数写入信息。number 参数的缺省采样时间间隔为 1 秒。收集的数据也可以保存在由 -o file 标志所指定的文件中。
计算等待磁盘 i/o 所花费 cpu 时间(wio 时间)百分比的方法的改进。
在 aix 4.3.2 及早期操作系统版本中采用的方法在某些情况下会在 smp 上显示出夸大的 wio 时间。wio 时间是由 sar(%wio)命令、vmstat(wa)命令和 iostat(% iowait)命令报告的。
aix 4.3.2 及早期版本中使用的方法如下:每个处理器上的每次时钟中断(每个处理器 100 次/秒)时,都须确定要将最后 10 ms 时间花费在四个类别(usr/sys/wio/idle)中的哪个上。如果时钟中断时 cpu 正处于 usr 模式下,则 usr 类别获取该时钟信号加入其中。如果时钟中断时 cpu 处于 kernel 模式下,则 sys 类别获取该信号。如果 cpu 不忙,则检查是否有任何磁盘 i/o 正在进行。如果有正在进行的磁盘 i/o,则增加 wio 类别。如果没有正在进行的磁盘 i/o 且 cpu 不忙,则 idle 类别取得该信号。wio 时间的夸大是由于所有空闲 cpu 都被视为 wio,而不管等待 i/o 的线程数。例如,只有一个线程正在执行 i/o 的系统可能报告大于 90% 的 wio 时间,而不管该系统拥有的 cpu 数量。
操作系统 aix 4.3.3 及以后版本中使用的方法如下:在操作系统 aix 4.3.3 中所作的更改是仅当某空闲 cpu 上有未完成的 i/o 开始时才将其标记为 wio。当只有几个线程正在执行 i/o,或者系统为空闲时,此方法所报告的 wio 时间要低得多。例如,系统中有四个cpu 且一个线程正在执行 i/o 时,最多只报告 25% 的 wio 时间。系统中有十二个 cpu 且一个线程正在执行 i/o 时,最多报告 8% 的 wio 时间。nfs客户机通过 vmm 进行读/写,现在将 biod 在 vmm等待 i/o 完成所花费的时间报告为 i/o 等待时间。
sar参数
-a
没有使用 -p 标志时,使用 -a 标志相当于指定 -abckmqruvwy 。当与 -p 标志一起使用时,-a 相当于指定 -acmuw 。
注:根据 sar 命令运行的时间间隔,它本身可以生成相当多的读和写。在无工作负荷的情况下运行 sar 统计,以了解 sar 命令在总统计信息中的份额。
报告每个块设备(除磁带驱动器外)的活动。所报告的活动数据是:%busy, 报告设备忙于执行传输请求所用的那一部分时间以及该段时间内未完成的请求的平均值。read/s, write/s, blks/s报告从/到一个设备的读/写传送的数量(所传送的字节数以 512 字节为单位)。avwait 每个i/o请求的平均等待时间,单位是毫秒. 表示 i/o 请求 在设备驱动器的i/o队列中等待访问i/o设备的时间.avque 访问磁盘的平均i/o 请求数. 表示i/o 队列的平均长度. 在以前的版本中此值表示的是瞬间的磁盘 i/o 请求数. 其值很高则预示着磁盘有较大瓶颈
avserv每个i/o请求的平均(服务)完成时间,单位是毫秒. 表示 i/o请求到达i/o 设备后,从设备上得到返回结果的时间
设置报告的结束时间。缺省结束时间是 18:00。
从 file 文件中抽取记录,该文件由 sar/sadc 命令的 aix 4.3 或 aix 4.2 版本生成。
从 file (由 -o file 标志创建)文件中抽取记录。file 参数的缺省值是当前每日数据文件,即 /var/adm/sa/sa dd 文件。
以尽可能接近 seconds 参数所指定的秒数选择数据记录。否则,sar 命令将报告在该数据文件中找到的所有秒数。
将读取的内容以二进制格式保存在文件里。每个读取为一条单独的记录,而且每个记录都含有一个标识该读取时间的标记。
报告指定处理器的每个处理器的统计信息。指定 all 关键字报告每个处理器的统计信息以及所有处理器的全部统计信息。在指定要报告的统计信息的标志中,只有 -a、-c 、-m 、-u 和 -w 标志对 -p 标志有意义。
注: 任何列为空值表示相关的队列为空。
设置数据开始时间,使 sar 命令以(遵循)指定时间抽取有时间标记的记录。缺省开始时间是 08:00。
报告每个处理器或整个系统的统计信息。当与 -p 标志一起使用时,为每个指定的处理器提供此信息;否则,只在系统范围内提供此信息。因为 -u 标志信息以百分比表示,所以系统范围信息只是每个处理器统计信息的平均值。并且,i/o 等待状态是以整个系统而不是每个处理器来定义的。将显示以下数值:
%idle
报告 cpu 为空闲(且没有未完成的 i/o 请求)所占的时间百分比。 %sys报告 cpu 在系统(或内核)级别上执行所花费的时间的百分比。 %usr报告 cpu 在用户(或应用程序)级别上执行所花费的时间的百分比。 %wio报告 cpu 空闲(但系统有未完成的磁盘/nfs i/o 请求)所占的时间的百分比。请参阅以上的详细描述。
注: 如果没有请求其它特定的内容选项,则sar 命令报告系统部件的活动。
physc
消耗物理处理器的数目,只在共享处理器或启用同时多线
程的分区上报告
读取在以前操作系统版本中创建的 sar 文件。此标志只能与 -f 标志一起使用。
报告进程、内核线程、i-node 和文件表的状态。将显示以下数值:file-sz, inod-sz , proc-sz , thrd-sz 报告每个表中正在使用的条目数。
使用示例
1、要在随后的 20 秒内每隔 2 秒报告当前的 tty 活动和页面调度统计信息:
sar -y -r 2 20
2、要观察系统部件 10 分钟,并以保存为二进制文件temp:
sar -o temp 60 10
3、要报告最前面的两个处理器的 cpu 活动:
sar -u -p 0,1
sar命令的缺省参数为-u参数,故不加-u参数亦可
4、要报告所有处理器和系统范围内的消息、信号量及 cpu 活动:
sar -mu -p all
5、要读取在以前操作系统版本上生成的名为 file 的系统活动文件中聪14:20开始到15:00结束的内容中系统切换和队列统计信息的那部分。其中,<code>-s</code> 并不是包含性的,所以必须从所选择的开始时间中多减去十分钟。 :
sar -f file -s 14:20 -e 15:00 -w -q
参考至:http://www.ibm.com/developerworks/cn/aix/library/es-unix-perfmonsar.html
http://hi.baidu.com/h_sn999/blog/item/413c97b755c0b4e530add156.html
http://www.wangchao.net.cn/bbsdetail_532003.html
http://www.kuqin.com/aixcmds/aixcmds5/sar.htm#a26891631
本文原创,转载请注明出处、作者
如有错误,欢迎指正
作者:czmmiao 原文地址:http://czmmiao.iteye.com/blog/1155184