SAR(1M) —
NAME
sar: sa1, sa2, sadc − system activity report package
SYNOPSIS
/usr/lib/sa/sadc [t n] [ofile]
/usr/lib/sa/sa1 [t n]
/usr/lib/sa/sa2 [−ubdycwaqvmprDSAC] [−s time] [−e time]
[−i sec]
DESCRIPTION
System activity data can be accessed at the special request of a user [see sar(1)] and automatically on a routine basis as described here. The operating system contains several counters that are incremented as various system actions occur. These include counters for CPU utilization, buffer usage, disk and tape I/O activity, TTY device activity, switching and system-call activity, file-access, queue activity, inter-process communications, paging, and Remote File Sharing.
sadc and shell procedures, sa1 and sa2, are used to sample, save, and process this data.
sadc, the data collector, samples system data n times, with an interval of t seconds between samples, and writes in binary format to ofile or to standard output. The sampling interval t should be greater than 5 seconds; otherwise, the activity of sadc itself may affect the sample. If t and n are omitted, a special record is written. This facility is used at system boot time, when booting to a multiuser state, to mark the time at which the counters restart from zero. For example, the /etc/init.d/perf file writes the restart mark to the daily data by the command entry:
su sys −c "/usr/lib/sa/sadc /usr/adm/sa/sa`date +%d`"
The shell script sa1, a variant of sadc, is used to collect and store data in binary file /usr/adm/sa/sadd where dd is the current day. The arguments t and n cause records to be written n times at an interval of t seconds, or once if omitted. The entries in /usr/spool/cron/crontabs/sys [see cron(1M)]:
0 ∗ ∗ ∗ 0-6 /usr/lib/sa/sa1
20,40 8−17 ∗ ∗ 1−5 /usr/lib/sa/sa1
will produce records every 20 minutes during working hours and hourly otherwise.
The shell script sa2, a variant of sar(1), writes a daily report in file /usr/adm/sa/sardd. The options are explained in sar(1). The /usr/spool/cron/crontabs/sys entry:
5 18 ∗ ∗ 1−5 /usr/lib/sa/sa2 −s 8:00 −e 18:01 −i 1200 −A
will report important activities hourly during the working day.
The structure of the binary daily data file is:
struct sa {
struct sysinfo si;/∗ see /usr/include/sys/sysinfo.h ∗/
struct minfo mi;/∗ defined in sys/sysinfo.h ∗/
struct dinfo di;/∗ RFS info defined in sys/sysinfo.h ∗/
struct rcinfo rc;/∗ Client cache info defined in sys/sysinfo.h ∗/
struct bpbinfo bi;/∗ Co-processor info defined in sys/sysinfo.h ∗/
int bpb_utilize/∗ Co-processor utilize flag ∗/
int minserve, maxserve;/∗ RFS server low and high water marks ∗/
int szinode;/∗ current size of inode table ∗/
int szfile;/∗ current size of file table ∗/
int szproc;/∗ current size of proc table ∗/
int szlckf;/∗ current size of file record header table ∗/
int szlckr;/∗ current size of file record lock table ∗/
int mszinode;/∗ size of inode table ∗/
int mszfile;/∗ size of file table ∗/
int mszproc;/∗ size of proc table ∗/
int mszlckf;/∗ maximum size of file record header table ∗/
int mszlckr;/∗ maximum size of file record lock table ∗/
long inodeovf;/∗ cumulative overflows of inode table ∗/
long fileovf;/∗ cumulative overflows of file table ∗/
long procovf;/∗ cumulative overflows of proc table ∗/
time_t ts;/∗ time stamp, seconds ∗/
long devio[NDEVS][4];/∗ device unit information ∗/
#define IO_OPS0/∗ cumulative I/O requests ∗/
#define IO_BCNT1/∗ cumulative blocks transferred ∗/
#define IO_ACT2/∗ cumulative drive busy time in ticks ∗/
#define IO_RESP3/∗ cumulative I/O resp time in ticks ∗/
};
FILES
/usr/adm/sa/sadddailydatafile
/usr/adm/sa/sardddailyreportfile
/tmp/sa.adrfladdressfile
SEE ALSO
cron(1M), sag(1G), sar(1), timex(1).
\*U — Version 1.0