sar 命令
sar 命令
用途
收集、报告或保存系统活动信息。
语法
/usr/sbin/sar[ {-A| [-a] [-b] [-c] [-d][-k] [-m] [-q] [-r] [-u] [-V] [-v] [-w] [-y] } ] [-PProcessorIdentifier,... |ALL] [-ehh[:mm[:ss] ] ] [-XFile] [-fFile] [-iSeconds] [-oFile] [-shh[:mm[:ss] ] ] [Interval[Number] ]
描述
sar命令将操作系统中选定的累计活动计数器的内容写到标准输出。基于Number和Interval参数的值,记帐系统以指定的时间间隔(以秒为单位)和指定间隔次数写入信息。Number参数的缺省采样时间间隔为 1 秒。收集的数据也可以保存在由-oFile标志所指定的文件中。
sar命令抽取并写入以前保存在文件里的标准输出记录。此文件既可以是由-f标志指定的文件,或者也可以是缺省情况下标准系统活动每日数据文件,即/var/adm/sa/sadd文件,其中dd参数表示当前日期。
没有-P标志的sar命令报告整个系统(所有处理器)的统计信息,对于以百分比表示的数值计算其平均值,否则计算其总数。如果指定-P标志,则sar命令报告与指定处理器相关的活动。如果给定-P ALL,则sar命令报告每个单独的处理器的统计信息,跟在整个系统的统计信息后面。
可以使用标志选择关于特定系统活动的信息。没有指定任何标志,则仅选择系统部件活动。指定-A标志,则选择所有活动。
sar命令的缺省版本(CPU 使用率报告)可能是用户开始系统活动调查首先要运行的工具之一,因为它监视主要的系统资源。如果 CPU 使用率接近 100%(用户 + 系统),采样的工作负荷为 CPU 受限。如果 I/0 等待花费相当大的时间百分比,这意味着 CPU 执行受阻,等待磁盘 I/O。该 I/O 可能是必要的文件存取,也可能与由于内存不足而进行页面调度有关。
计算 CPU 磁盘 I/O 等待时间的方法
AIX 4.3.3 及以后的版本包含用于计算等待磁盘 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命令指定一个输出文件,这样就方便多了。将sar命令的标准输出数据定向到/dev/null,并将sar命令作为后台进程运行。 以上操作的语法是:
sar -A -o data.file interval count > /dev/null &
以二进制格式获取所有数据并将其保存在文件(data.file)中。然后,使用带有-f选项的sar命令可以有选择地显示数据。
sar命令调用一个称为sadc的进程来存取系统数据。构建两个 shell 脚本(/usr/lib/sa/sa1和/usr/lib/sa/sa2),它们由cron命令运行并提供每日统计信息和报告。样本节包括在/var/spool/cron/crontabs/admcrontab 文件中(但被注释掉),用来指定cron守护进程应在何时运行 shell 脚本。以这种方式收集的数据对于描述一段时间内系统的使用特征以及确定使用高峰期是很有用的。
您可以在系统启动时通过取消/etc/rc脚本中相应行的注释将一条哑元记录插入标准系统活动每日数据文件中。对于 CPU 时间小于前一个记录的任何记录,sar 命令都将报告时间变化为负值。如果使用在/etc/rc中注释掉的哑元记录插入行重新引导系统,将出现这种情况。
可以使用基于 Web 的系统管理器(wsm)中的系统应用程序来运行此命令。
也可以使用“系统管理界面工具”(SMIT)smit sar的快捷路径来运行此命令。
标志
-A | 没有使用-P标志时,使用-A标志相当于指定-abckmqruvwy。当与-P标志一起使用时,-A相当于指定-acmuw。 |
-a | 报告使用文件存取系统例程指定每秒调用各种系统文件存取例程的次数。当与-P标志一起使用时,只为每个指定处理器提供此信息;否则,只在系统范围内提供此信息。将显示以下数值: |
-b | 报告缓冲区活动中每秒用于传输、存取以及高速缓存(内核块高速缓存)的命中率。存取第 3
版本中的大多数文件会忽略内核块缓冲,因此不生成这些统计信息。然而,如果程序打开块设备或裸字符设备进行
I/O,则使用传统的存取机制使生成的统计信息变得有意义。将显示以下数值:
|
-c | 报告系统调用。当与-P标志一起使用时,只为每个指定处理器提供此信息;否则,只在系统范围内提供此信息。将显示以下数值:
注:根据sar命令运行的时间间隔,它本身可以生成相当多的读和写。在无工作负荷的情况下运行sar统计,以了解sar命令在总统计信息中的份额。 |
-d | 报告每个块设备(除磁带驱动器外)的活动。所报告的活动数据是:
|
-ehh[:mm[:ss]] | 设置报告的结束时间。缺省结束时间是 18:00。 |
-XFile | 从File文件中抽取记录,该文件由sar/sadc命令的 AIX 4.3 或 AIX 4.2 版本生成。 |
-fFile | 从File(由-oFile标志创建)文件中抽取记录。File参数的缺省值是当前每日数据文件,即/var/adm/sa/sadd文件。 |
-iSeconds | 以尽可能接近Seconds参数所指定的秒数选择数据记录。否则,sar命令将报告在该数据文件中找到的所有秒数。 |
-k | 报告内核进程活动。将显示以下数值: |
-m | 报告每秒消息(发送和接收)以及信号量(创建、使用或破坏)活动。与-P标志一起使用时,为每个指定处理器提供此信息;否则,只在系统范围内提供此信息。将显示以下数值: |
-oFile | 将读取的内容以二进制格式保存在文件里。每个读取为一条单独的记录,而且每个记录都含有一个标识该读取时间的标记。 |
-PProcessorIdentifier,... |ALL | 报告指定处理器的每个处理器的统计信息。指定ALL关键字报告每个处理器的统计信息以及所有处理器的全部统计信息。在指定要报告的统计信息的标志中,只有-a、-c、-m、-u和-w标志对-P标志有意义。 |
-q | 报告队列统计信息。将显示以下数值:注:任何列为空值表示相关的队列为空。 |
-r | 报告页面调度统计信息。将显示以下数值: |
-shh[:mm[:ss]] | 设置数据开始时间,使sar命令以(遵循)指定时间抽取有时间标记的记录。缺省开始时间是 08:00。 |
-u | 报告每个处理器或整个系统的统计信息。当与-P标志一起使用时,为每个指定的处理器提供此信息;否则,只在系统范围内提供此信息。因为-u标志信息以百分比表示,所以系统范围信息只是每个处理器统计信息的平均值。并且,I/O 等待状态是以整个系统而不是每个处理器来定义的。将显示以下数值:
注:如果没有请求其它特定的内容选项,则sar命令报告系统部件的活动。 |
-V | 读取在以前操作系统版本中创建的 sar 文件。此标志只能与-f标志一起使用。 |
-v | 报告进程、内核线程、i-node 和文件表的状态。将显示以下数值: |
-w | 报告系统切换的活动。当与-P标志一起使用时,为每个指定的处理器提供此信息;否则,只在系统范围内提供此信息。将显示以下数值: |
-y | 报告每秒 tty 设备的活动。 |
安全性
访问控制:这些命令应只将执行(x)访问权授予adm组的成员。
示例
- 要报告系统部件活动,请输入:
sar
- 要在随后的 20 秒内每隔 2 秒报告当前的 tty 活动,请输入:
- 要观察系统部件 10 分钟,并对数据进行排序,请输入:sar -otemp 60 10
- 要报告最前面的两个处理器的 cpu 活动,请输入:这样将产生与以下类似的输出:
cpu %usr %sys %wio %idle
0 45 45 5 5
1 27 65 3 5 - 要报告所有处理器和系统范围内的消息、信号量及 CPU 活动,请输入:而在一个有四个处理器的系统上,将产生与以下类似的输出(最后一行表示对所有处理器的系统范围内的统计):
cpu msgs/s sema/s %usr %sys %wio %idle
0 7 2 45 45 5 5
1 5 0 27 65 3 5
2 3 0 55 40 1 4
3 4 1 48 41 4 7
- 19 3 44 48 3 5 - 要读取在以前操作系统版本上生成的名为File的系统活动文件,请输入:
文件
/usr/sbin/sar | 包含sar命令。 |
/bin/sar | 表示与sar命令的符号链接。 |
/var/adm/sa/sadd | 表示每日数据文件,其中dd参数是表示该月的第几日的数字。 |
TAG:
标题搜索
日历
|
|||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
1 | 2 | 3 | 4 | ||||||
5 | 6 | 7 | 8 | 9 | 10 | 11 | |||
12 | 13 | 14 | 15 | 16 | 17 | 18 | |||
19 | 20 | 21 | 22 | 23 | 24 | 25 | |||
26 | 27 | 28 | 29 | 30 | 31 |
我的存档
数据统计
- 访问量: 34707
- 日志数: 57
- 建立时间: 2007-09-26
- 更新时间: 2010-02-23