自动收集系统活动数据时需要使用三个命令:sadc、sa1 和 sa2。
sadc 数据收集实用程序定期收集系统数据,并以二进制格式的文件保存数据,每 24 小时保存一个文件。可以将 sadc 命令设置为定期运行(通常每小时一次),并在系统引导到多用户模式时运行。数据文件放置在 /var/adm/sa 目录中。每个文件都命名为 sadd,其中 dd 是当前日期。命令的格式如下:
/usr/lib/sa/sadc [t n] [ofile] |
该命令以 t 秒为间隔采样 n 次,两次采样之间的间隔应大于 5 秒。然后,此命令将向二进制 ofile 文件或标准输出中写入数据。
sadc 命令应在系统引导时运行,以记录自计数器重置为零以来的统计信息。为确保在引导时运行 sadc 命令,svcadm enable system/sar:default 命令会向每日数据文件中写入一条记录。
/usr/bin/su sys -c "/usr/lib/sa/sadc /var/adm/sa/sa`date +%d`" |
为了生成定期记录,您需要定期运行 sadc 命令。最简单的方法是在 /var/spool/cron/crontabs/sys 文件中取消对下列行的注释:
# 0 * * * 0-6 /usr/lib/sa/sa1 # 20,40 8-17 * * 1-5 /usr/lib/sa/sa1 # 5 18 * * 1-5 /usr/lib/sa/sa2 -s 8:00 -e 18:01 -i 1200 -A |
sys crontab 项执行以下操作:
前两个 crontab 项可在星期一到星期五从上午 8 点到下午 5 点,每 20 分钟或每小时向 /var/adm/sa/sadd 文件写入一条记录。
第三项可从星期一到星期五每小时向 /var/adm/sa/sar dd 文件写入一条记录,并且可以包括所有 sar 选项。
可以更改这些缺省设置,以满足您的需要。
另一个 shell 脚本 sa2 可生成报告,而不是二进制数据文件。sa2 命令调用 sar 命令,并将 ASCII 输出写入报告文件。
sar 命令可用于自行收集系统活动数据,或报告 sadc 命令所创建的每日活动文件中收集的内容。
sar 命令格式如下:
sar [-aAbcdgkmpqruvwy] [-o file] t [n] |
sar [-aAbcdgkmpqruvwy] [-s time] [-e time] [-i sec] [-f file] |
以下 sar 命令每隔 t 秒对操作系统中的累积活动计数器进行采样,共进行 n 次。t 应大于或等于 5 秒。否则,命令本身会对样本产生影响。必须指定采样的时间间隔。否则,命令将根据第二种格式运行。n 的缺省值为 1。以下示例以 10 秒为间隔抽取两个样本。如果指定 -o 选项,则以二进制格式保存样本。
$ sar -u 10 2 |
有关 sar 命令的其他重要信息包括:
如果不指定采样间隔或样本数,sar 命令将从以前记录的文件中提取数据。该文件是由 -f 选项为最近一天指定的文件,或对应于最近一天的标准每日活动文件 /var/adm/sa/sa dd(缺省设置)。
-s 和 -e 选项定义报告的开始时间和结束时间。开始时间和结束时间的格式为 hh[:mm[:ss]],其中 hh、mm 和 ss 表示小时、分钟和秒。
选项 |
操作 |
---|---|
-a |
检查文件访问操作 |
-b |
检查缓冲区活动 |
-c |
检查系统调用 |
-d |
检查每个块设备的活动 |
-g |
检查页出和内存释放 |
-k |
检查内核内存分配 |
-m |
检查进程间通信 |
-nv |
检查系统表状态 |
-p |
检查交换和分发活动 |
-q |
检查队列活动 |
-r |
检查未使用的内存 |
-u |
检查 CPU 使用率 |
-w |
检查交换和切换卷 |
-y |
检查终端活动 |
-A |
报告总体系统性能,这与输入所有选项等效。 |
不使用任何选项等效于调用带 -u 选项的 sar 命令。
成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
运行 svcadm enable system/sar:default 命令。
此版本的 sadc 命令会写入一条特殊记录,其中标记了将计数器重置为零的时间(引导时间)。
编辑 /var/spool/cron/crontabs/sys crontab 文件。
不要直接编辑 crontab 文件。而要改用 crontab -e 命令对现有 crontab 文件进行更改。
# crontab -e sys |
取消对以下行的注释:
0 * * * 0-6 /usr/lib/sa/sa1 20,40 8-17 * * 1-5 /usr/lib/sa/sa1 5 18 * * 1-5 /usr/lib/sa/sa2 -s 8:00 -e 18:01 -i 1200 -A |
有关更多信息,请参见 crontab(1) 手册页。