AIX的sar命令详解(原创)

sar概述

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 。
-a 报告使用文件存取系统例程指定每秒调用各种系统文件存取例程的次数。当与 -P 标志一起使用时,只为每个指定处理器提供此信息;否则,只在系统范围内提供此信息。将显示以下数值:dirblk/s目录搜索例程为特定文件定位目录项所读取的 512 字节块的数量。iget/s调用支持多文件系统类型的几个 i-node 查询例程中的任何一个。iget 例程返回一个指向文件或设备的 i-node 结构的指针。lookuppn/s调用目录搜索例程,根据给定的路径名该例程可以查找 v-node 的地址。
-b 报告缓冲区活动中每秒用于传输、存取以及高速缓存(内核块高速缓存)的命中率。存取第 3 版本中的大多数文件会忽略内核块缓冲,因此不生成这些统计信息。然而,如果程序打开块设备或裸字符设备进行 I/O,则使用传统的存取机制使生成的统计信息变得有意义。将显示以下数值:bread/s, bwrit/s报告 I/O 操作的块的数目。这些 I/O 通常由内核执行来管理块高速缓存区,正如在 lread/s 值的描述中所论述的那样。lread/s, lwrit/s报告逻辑 I/O 请求的数量。当执行对块设备的逻辑读或写时,可能请求小于整块大小的逻辑传输大小。系统对所有块的物理设备单元进行存取,并将这些块缓冲在为此目的而留出 的内核缓冲区(块 I/O 高速缓存区)中。这个高速缓存区由内核管理,因此对块设备的多个逻辑读写可以存取以前缓冲在高速缓存中的数据,而且不需要对该设备进行真正的 I/O。应用程序对块的读写请求作为逻辑读写而统计地报告。由管理高速缓存区的内核所执行的对块设备的块 I/O 作为块读写而报告。pread/s, pwrit/s报告对裸设备的 I/O 操作的数量。对裸字符设备的 I/O 请求不像对块设备的 I/O 请求那样缓冲。直接对设备执行 I/0。%rcache, %wcache报告高速缓存的效率(高速缓存命中百分比)。此百分比由下式计算得出:[(100)x(lreads - breads)/ (lreads)]。
-c 报告系统调用。当与 -P 标志一起使用时,只为每个指定处理器提供此信息;否则,只在系统范围内提供此信息。将显示以下数值:exec/s, fork/s报告 fork 和 exec 系统调用的总数。高进程创建会导致较差的性能,并且这是可能需要将一些应用程序转移到其他计算机的信号。sread/s, swrit/s报告读/写系统调用的总数。rchar/s, wchar/s报告读/写系统调用传送的字符总数。scall/s报告系统调用的总数。
注:根据 sar 命令运行的时间间隔,它本身可以生成相当多的读和写。在无工作负荷的情况下运行 sar 统计,以了解 sar 命令在总统计信息中的份额。
-d 报告每个块设备(除磁带驱动器外)的活动。所报告的活动数据是:%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 设备后,从设备上得到返回结果的时间
-e hh [:mm [:ss ]] 设置报告的结束时间。缺省结束时间是 18:00。
-X File 从 File 文件中抽取记录,该文件由 sar/sadc 命令的 AIX 4.3 或 AIX 4.2 版本生成。
-f File 从 File (由 -o File 标志创建)文件中抽取记录。File 参数的缺省值是当前每日数据文件,即 /var/adm/sa/sa dd 文件。
-i Seconds 以尽可能接近 Seconds 参数所指定的秒数选择数据记录。否则,sar 命令将报告在该数据文件中找到的所有秒数。
-k 报告内核进程活动。将显示以下数值:kexit/s报告每秒内核进程终止数。kproc-ov/s报告由于实施进程阈值限制而不能创建内核进程的次数。ksched/s报告每秒分配执行任务的内核进程数。
-m 报告每秒消息(发送和接收)以及信号量(创建、使用或破坏)活动。与 -P 标志一起使用时,为每个指定处理器提供此信息;否则,只在系统范围内提供此信息。将显示以下数值:msg/s报告 IPC 消息原语的数量。sema/s报告 IPC 信号量原语的数量。
-o File 将读取的内容以二进制格式保存在文件里。每个读取为一条单独的记录,而且每个记录都含有一个标识该读取时间的标记。
-P ProcessorIdentifier , ... | ALL 报告指定处理器的每个处理器的统计信息。指定 ALL 关键字报告每个处理器的统计信息以及所有处理器的全部统计信息。在指定要报告的统计信息的标志中,只有 -a、-c 、-m 、-u 和 -w 标志对 -P 标志有意义。
-q 报告队列统计信息。将显示以下数值:runq-sz报告在运行队列中的平均内核线程数。%runocc报告运行队列占用的时间百分比。swpq-sz报告等待页面调入的内核线程数的平均值。%swpocc报告调动队列占用的时间百分比。
注: 任何列为空值表示相关的队列为空。

-r 报告页面调度统计信息。将显示以下数值:cycle/s报告每秒页面替换循环的数量。fault/s报告每秒缺页故障的数量。它没有对生成 I/O 的缺页故障进行计数,因为一些缺页故障可以在没有 I/O 的情况下解决。slots报告在调页空间中空闲页的数量。odio/s报告每秒非页面调度磁盘I/O的数量。
-s hh [:mm [:ss ]] 设置数据开始时间,使 sar 命令以(遵循)指定时间抽取有时间标记的记录。缺省开始时间是 08:00。
-u
报告每个处理器或整个系统的统计信息。当与 -P 标志一起使用时,为每个指定的处理器提供此信息;否则,只在系统范围内提供此信息。因为 -u 标志信息以百分比表示,所以系统范围信息只是每个处理器统计信息的平均值。并且,I/O 等待状态是以整个系统而不是每个处理器来定义的。将显示以下数值:

  %idle

报告 CPU 为空闲(且没有未完成的 I/O 请求)所占的时间百分比。  %sys报告 CPU 在系统(或内核)级别上执行所花费的时间的百分比。  %usr报告 CPU 在用户(或应用程序)级别上执行所花费的时间的百分比。  %wio报告 CPU 空闲(但系统有未完成的磁盘/NFS I/O 请求)所占的时间的百分比。请参阅以上的详细描述。 

注: 如果没有请求其它特定的内容选项,则sar 命令报告系统部件的活动。

  physc           

        消耗物理处理器的数目,只在共享处理器或启用同时多线

           程的分区上报告

-V 读取在以前操作系统版本中创建的 sar 文件。此标志只能与 -f 标志一起使用。
-v 报告进程、内核线程、i-node 和文件表的状态。将显示以下数值:file-sz, inod-sz , proc-sz , thrd-sz 报告每个表中正在使用的条目数。
-w 报告系统切换的活动。当与 -P 标志一起使用时,为每个指定的处理器提供此信息;否则,只在系统范围内提供此信息。将显示以下数值:pswch/s报告每秒上下文转接的数量。 高的数值表示计算机上运行的内容过多,该计算机在切换任务上花费了比实际工作更多的时间。
-y 报告每秒 tty 设备的活动。canch/s报告 tty 规范输入队列字符。对于 AIX V4 及以后的版本,本字段总是 0(零)。mdmin/s报告 tty 调制解调器中断。outch/s报告 tty 输出队列字符。rawch/s报告 tty 输入队列字符。revin/s报告 tty 接收中断。xmtin/s报告 tty 发送中断。

使用示例 

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结束的内容中系统切换和队列统计信息的那部分。其中,-s 并不是包含性的,所以必须从所选择的开始时间中多减去十分钟。 :
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

本文原创,转载请注明出处、作者

如有错误,欢迎指正

邮箱:czmcj@163.com

作者:czmmiao 原文地址:http://czmmiao.iteye.com/blog/1155184

时间: 2024-10-29 08:56:51

AIX的sar命令详解(原创)的相关文章

AIX的vmstat命令详解(原创)

vmstat概述  vmstat 命令报告关于内核线程.虚拟内存.磁盘.陷阱和 CPU 活动的统计信息.由 vmstat 命令生成的报告可以用于平衡系统负载活动.系统范围内的这些统计信息(所有的处理器中)都计算出以百分比表示的平均值,或者计算其总和. Interval 参数指定每个报告之间的时间量(以秒计).第一个报告包含系统启动后时间的统计信息.后续报告包含自从前一个报告起的时间间隔过程中所收集的统计信息.如果没有指定 Interval 参数,vmstat 命令生成单个报告然后退出.Count

AIX的SVMON命令详解(原创)

svmon概述  svmon 命令用于显示当前内存状态的信息,可通过 # lslpp bos.perf.tools 查看是否有安装.因为 svmon 命令在启用中断的用户级别运行,所以显示的信息不组成真正的内存快照. 在非常繁忙的系统中,svmon收集的数据和真实的数据有所差距,在svmon进程搜集的过程中,VMM(虚存管理器)可能已经发生改动了. 因为svmon使用的全是VMM中的数据,而VMM对内存的视图是基于内存段的,所以,理解svmon的输出,必须先理解段的概念. 段  段(segmen

AIX的topas命令详解(原创)

topas概述  topas 命令报告选定的本地系统活动的统计信息.该命令使用 curses 库以合适的格式来显示其输出,该格式适合于在一个 80x25 基于字符的显示器上或至少同样大小的图形显示器的窗口中进行查看.topas 命令需要在系统中安装 perfagent.tools 文件集. 如果 topas 命令调用时没有标志,则运行时正如用以下命令行来调用:topas -d20 -i2 -n20 -p20 -w20 -c20  程序按由 monitoring_interval_in_secon

【OS】AIX之topas命令详解

[OS]AIX之topas命令详解 AIX基本命令topas简介 Posted on 2015 年 11 月 11 日 by xiaoyu 由于最近工作需要涉及到AIX主机.存储层面,就对这方面的内容做个简要的笔记,以供后续参考. topas命令利用System Performance Measurement Interface(SPMI) API获得有关信息,使系统开销保持最小程度,topas命令用于监控各种系统资源,比如cpu使用情况.内存和换页空间.磁盘性能.网络性能以及NFS统计信息等

VirtualBox下配置串口以及stty命令详解(原创)

虚拟机于主机通过串口通信  我们需要先配置一下宿主机器上的virtualbox. 1. 在串口栏中勾选 []启用串口(E) 2. 端口编号选择COM1 3. 端口模式选择Host Pipe 4. 勾选 []创建通道(C) 5. Port/File Path: 填上 /tmp/serial. 也就是说我们在宿主机器的/tmp/中创建了serial的通道文件 此外,我们还要在宿主机器上设定一下串口.在此之前需要安装minicom软件 1. 运行minicom -s命令 2. CTRL+A调出配置界面

dd命令详解(原创)

dd指令使用  语法格式 dd   [option]  dd指令选项详解 if=file:输入文件名,缺省为标准输入 of=file:输出文件名,缺省为标准输出 ibs=bytes:一次读入 bytes 个字节(即一个块大小为 bytes 个字节) obs=bytes:一次写 bytes 个字节(即一个块大小为 bytes 个字节) bs=bytes:同时设置读写块的大小为 bytes ,可代替 ibs 和 obs cbs=bytes:一次转换 bytes 个字节,即转换缓冲区大小 skip=b

Unix系统sar命令详解

在使用UNIX操作系统的过程中,我们常常会用到各种各样的问题,比如系统运行速度突然变慢,系统容易死机或者主机所带的终端常出现死机,这时我们常常猜测,是硬盘空间太小,还是内存不足?I/O出现瓶颈,或者是系统的核心参数出了问题?这时,我们应该考虑使用系统给我们提供的sar命令来对系统作一个了解,该命令是系统维护的重要工具,主要帮助我们掌握系统资源的使用情况,特别是内存和CPU 的使用情况,是UNIX系统使用者应该掌握的工具之一. sar 命令行的常用格式: sar [options] [-A] [-

linux sar 命令详解

sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况. 系统调用的使用情况.磁盘I/O.CPU效率.内存使用状况.进程活动及IPC有关的活动等.本文主要以CentOS 6.3 x64系统为例,介绍sar命令. sar命令常用格式 sar [options] [-A] [-o file] t [n] 其中: t为采样间隔,n为采样次数,默认值是1: -o file表示将

AIX的/etc/filesystems详解(原创)

etc/filesystems概述 文件系统是一个完整的目录结构,包括根目录和他底下任何文件的目录,并且文件系统被限定在单一的逻辑卷上.在AIX上所有的文件系统信息/etc/filesystems 集中化的管理文件系统属性而存在,他的作用和Linux上的/etc/fstab文件类似. /etc/filesystems的常见属性 属性 描述 account 使用dodisk命令统计文件系统的详细信息,属性值为true或false.具体参加dodisk命令的用法 check 使用fsck命令来确认文