sar是UNIX系统中比较传统的性能监视工具,也是系统管理员用于监视系统性能的首选工具之一。sar是System Activity Report的简写,它主要收集、显示和保存系统的活动信息,包括CPU效率、内存使用状况、系统调用的使用、文件的读写情况、进程活动及IPC有关活动等。在这些功能中,sar最常用于监视CPU和内存的使用情况。
一、实时观察和显示以前收集数据
当sar命令没有指定采样间隔和采样次数时,将从-f参数指定的文件中读取系统数据,如果也没有使用-f参数,则从当天的数据文件(/var/adm/sa/sadd,dd是指当天的日子)中读取数据。
-f参数说明:
-f File :从指定文件读取记录,文件名由File参数指定,这个文件是由带-o参数的sar命令创建的。默认文件名是当天的数据文件(/var/adm/sa/sadd,dd是指当天的日子)。
-o参数说明:
-o File :将从系统中获取统计信息以二进制格式保存在指定的文件中,由File参数指定文件名。统计信息按记录存放,每一条记录包含着获取的时间。
sar命令有两种获取系统统计数据的方式:一种是实时地观察系统活动的数据,另一种显示以前收集的系统数据。当在使用sar命令时指定了Interval和Number参数就会实时地获得系统的统计数据;当没有指定Interval和Number参数或者指定了-f参数,则显示以前由sadc命令收集的系统统计数据。
sar命令实质上也是调用sadc命令。当运行sar命令时,会在后台运行一个/usr/lib/sa/sadc进程,sar命令将sadc进程收集到的二进制数据转换成文本格式,然后显示出来,或者直接将sadc进程产生的二进制数据保存到某一个文件中。
本文只介绍实时监视。
二、分析CPU的活动
CPU的活动状态主要体现在忙与闲上,即在任意时刻它只能是空闲和繁忙中的两种状态之一。当CPU忙时,它可以是处在用户模式下,执行用户的应用程序,也可以是处在系统模式下,执行系统内核程序。当CPU空闲时,有可能是正在等待I/O操作,有可能处于纯粹的空闲状态(没有I/O操作请求)。
示例:
每隔2秒采集一次CPU活动的数据,总共采集10次。
# sar 2 10
AIX servera 3 4 000922044C00 07/17/02
11:06:21 %usr %sys %wio %idle
11:06:23 21 2 0 76
11:06:25 17 1 0 82
11:06:27 13 1 0 86
11:06:29 12 0 0 88
11:06:31 0 0 0 100
11:06:33 11 0 0 89
11:06:35 13 0 0 89
11:06:37 14 1 0 85
11:06:39 13 1 0 86
11:06:41 13 0 0 86
Average 13 1 0 86
sar命令执行结果的第一列是采集数据的时刻,其余各列是一些系统指标。
l %usr表示CPU处在用户模式下的时间,即CPU花在用户应用程序上的时间百分比。
l %sys表示CPU处于系统模式下的时间,即CPU花在内核程序上的时间百分比。
l %wio表示CPU为等待磁盘I/O完成而空闲的时间百分比。
l %idle表示CPU纯粹地处于空闲状态的百分比,即也没有磁盘I/O请求。
在sar命令显示的CPU报告中,%usr+%sys+%wio+%idle=100%。一般情况下,%usr和%sys对系统的影响并不大,如果当%usr+%sys的值接近100%,则说明CPU的利用已达到极限,就可能要考虑增加CPU的个数。如果%usr明显地大于%sys,则说明用户的应用程序占用CPU时间太多了,可能要考虑优化应用程序,或者增加CPU的个数。
平时应保持%wio值不能太高。如果%wio值过高(若超过75%),则CPU花在等待磁盘I/O上的时间太多,CPU的运行可能会在等待磁盘I/O上被阻塞,因而磁盘I/O成为系统性能的瓶颈。磁盘I/O可能是由数据库的读写操作或由文件访问引起的。如果没有足够的内存会引起页面调度过分频繁,这样也会产生大量的磁盘I/O。对于数据库读写操作,就需要优化数据在磁盘上的分布,尽可能地使用数据读操作达到并发,也可以采用条带化逻辑卷的分布策略;对于页面调度频繁,就需要建立多个页面空间,并将其分布在不同的物理磁盘上。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25744374/viewspace-1096859/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25744374/viewspace-1096859/