如何在 Solaris 10 和 11 中设置 cron 以使用SAR自动收集数据

这篇文章概述了设置 cron 作业以从系统活动报告器(又名 SAR - system activity reporter)自动收集数据的步骤。

更多: zhilu jiaocheng

对于 Solaris 10 及更高版本

  1. 成为超级用户。

  2. 激活sar服务:

# svcadm enable system/sar
  1. 编辑 sys crontab 文件:
# crontab -e sys
  1. 根据需要取消注释或者创建以下行:
0 * * * 0-6 /usr/lib/sa/sa1
20,40 8-17 * * 1-5 /usr/lib/sa/sa1

第一个条目每周 7 天,每小时,每小时向 /var/adm/sa/sadd (sa01, sa02, ...) 写入一条记录。

第二个条目在高峰工作时间每小时向 /var/adm/sa/sadd 写入两次记录:周一至周五上午 8 点至下午 5 点的 20 分钟和 40 分钟。
根据需要修改此条目。

  1. 运行 sar 以验证操作。
# sar
SunOS berkeley 5.10 Generic sun4u 03/11/2005
17:35:22       %usr     %sys    %wio     %idle
17:35:22       unix restarts
17:40:00       1         1       0        99
17:50:00       0         1       0        99
Average        0         1       0        99

在 Solaris 10 之前

  1. 成为超级用户。

  2. 编辑以下文件:

# vi /etc/init.d/perf
  1. 取消对以下行的注释(删除每行开头的 # 符号):
#if [ -z "$_INIT_RUN_LEVEL" ]; then
#       set -- `/usr/bin/who -r`
#       _INIT_RUN_LEVEL=""
#       _INIT_RUN_NPREV=""
#       _INIT_PREV_LEVEL=""
#fi
#
#if [ $_INIT_RUN_LEVEL -ge 2 -a $_INIT_RUN_LEVEL -le 4 -a \
#    $_INIT_RUN_NPREV -eq 0 -a \( $_INIT_PREV_LEVEL = 1 -o \
#    $_INIT_PREV_LEVEL = S \) ]; then
#
#       /usr/bin/su sys -c "/usr/lib/sa/sadc /var/adm/sa/sa`date +%d`"
#fi

sadc 命令创建一个名为 sadd 的每日系统活动文件,其中 dd 是当月的当前日期。
在启动时,sadc 命令写入一个特殊记录,标记计数器设置为零的时间。

4.编辑系统crontab文件:

# crontab -e sys
  1. 取消注释或者创建以下行:
0 * * * 0-6 /usr/lib/sa/sa1
20,40 8-17 * * 1-5 /usr/lib/sa/sa1

其中:
第一个条目每周 7 天,每小时,每小时向 /var/adm/sa/sadd (sa01, sa02, ...) 写入一条记录。

第二个条目在高峰工作时间每小时向 /var/adm/sa/sadd 写入两次记录:周一至周五上午 8 点至下午 5 点的 20 分钟和 40 分钟。
根据需要修改此条目。

  1. 执行/etc/init.d/perf 脚本,或者重启系统,重新读取并启动文件。
日期:2020-09-17 00:15:14 来源:oir作者:oir