`

AIX的sar命令详解(原创)

    博客分类:
  • AIX
 
阅读更多

sar概述

sar 命令将 操作系统中选定的累计活动计数器的内容写到标准输出。基于 NumberInterval 参数的值,记帐系统以指定的时间间隔(以秒为单位)和指定间隔次数写入信息。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
报告 forkexec 系统调用的总数。高进程创建会导致较差的性能,并且这是可能需要将一些应用程序转移到其他计算机的信号。
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








0
0
分享到:
评论

相关推荐

    linux sar命令的使用

    ### Linux下sar命令详解 #### 一、概述 在Linux环境下,`sar`(System Activity Reporter)是一款极其重要的性能监控工具。它能够收集并报告系统的各种活动数据,从而帮助系统管理员进行性能分析与故障排查。`sar`...

    Linux环境下SAR命令使用详解.pdf

    **SAR命令详解** SAR(System Activity Report)是Linux系统中的一个强大的性能监控工具,它能够收集并报告系统活动信息,包括CPU利用率、内存使用、磁盘I/O、网络流量等多方面的数据,帮助系统管理员监控和诊断...

    linux系统sar命令

    redhat linux系统sar命令详细解释,每一个命令详尽。

    aix-sar.doc

    ### AIX sar 命令详解 #### 一、引言 在系统管理和性能监控领域,`sar` 命令被广泛应用于多种操作系统中,包括AIX等UNIX变种。`sar`(System Activity Reporter)是系统活动报告工具的一部分,能够收集、报告和保存...

    AIX6.1命令参考大全

    《AIX 6.1命令参考大全》是一份详尽的文档集合,旨在为AIX 6.1操作系统用户提供全面的命令操作指南。这套资料纠正了之前版本中混入5.2版本错误的问题,确保了内容的准确性和针对性。AIX(Advanced Interactive ...

    AIX系统命令使用教程

    #### 四、AIX命令详解 根据题目描述,本文档将进一步介绍AIX中的磁盘操作命令、文件操作命令和监控命令等内容。以下是一些典型命令的概览: - **磁盘操作命令**: - `mkfs`:创建文件系统。 - `mount`:挂载文件...

    AIX常用命令及解析

    在IBM AIX操作系统中,掌握一些常用命令是十分重要的,这些命令可以帮助系统管理员高效地管理和监控系统。以下是一些关键的AIX命令及其用途、用法和示例: 1. **Rcp**: Rcp(Remote Copy)命令用于在本地主机和远程...

    sar命令中关于网络统计的详细介绍.docx

    `sar` 命令是系统活动报告(System Activity Reporter)的一部分,它是 `sysstat` 软件包中的一个工具,用于收集和显示Linux系统的性能数据,包括CPU使用率、磁盘I/O、内存使用以及网络活动等。在描述中提到了与网络...

    linux 下的sar工具命令小结

    linux 下的sar工具命令小结 - jackyrong - 博客园

    巧用SAR命令维护linux系统.pdf

    《巧用SAR命令维护Linux系统》 在Linux系统管理中,有效监控系统资源的使用情况至关重要,SAR(System Activity Report)命令就是这样一个强大的工具。SAR命令可以帮助管理员了解系统的运行状态,尤其是在遇到系统...

    linux 和unix下SAR命令的用法.docx

    以下是关于SAR命令的一些详细知识: **基本用法** SAR命令的基本格式如下: ```bash sar [options] [-A] [-o file] t [n] ``` - `t` 参数是采样间隔,单位通常是秒。 - `n` 参数是采样次数,可选,默认值为1。 - `-...

    sar命令 系统运行状态统计

    sar命令是Linux下系统运行状态统计工具,它将指定的操作系统状态计数器显示到标准输出设备。 sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是可以连续对系统取样,...

    AIX日常维护命令

    ### AIX日常维护命令知识点详解 #### 一、检查AIX系统状态 AIX系统状态检查是日常维护的重要环节之一,主要包括以下方面: 1. **文件系统**: `df –k` 命令用于查看文件系统的空间使用情况,其中 `-k` 表示以 KB ...

    SAR_DATA1.rar_SAR MATLAB_SAR 处理_SAR_原始数据_SAR数据_raw data

    **SAR 数据处理详解** SAR(Synthetic Aperture Radar,合成孔径雷达)是一种遥感技术,通过发射雷达波并接收回波来获取地表信息。它在军事、地质、环境监测等领域有着广泛的应用。SAR数据处理是将接收到的原始雷达...

    《AIX5.3命令参考大全,卷 5:s 到 u》

    《AIX5.3命令参考大全,卷 5:s 到 u》是IBM公司为AIX5.3操作系统发布的一系列技术文档之一,旨在提供从“s”到“u”字母范围内所有命令的详尽解释与使用指南。这份资料对于AIX系统管理员、IT专业人员以及对AIX操作...

    IBM AIX日常维护命令

    【IBM AIX日常维护命令详解】 IBM AIX(Advanced Interactive eXecutive)是一种由IBM开发的UNIX操作系统,广泛应用于企业级服务器环境。了解并掌握AIX系统的日常维护命令是系统管理员的重要技能。以下是对标题和...

Global site tag (gtag.js) - Google Analytics