sadc(1M) UNIX System V(System Performance Analysis Utilities) sadc(1M)
NAME
sadc, sa1, sa2 - system activity report package
SYNOPSIS
/usr/lib/sa/sadc [t n] [ofile]
/usr/lib/sa/sa1 [t n]
/usr/lib/sa/sa2 [-ubdycwaqvmpgrkxDSAC] [-s time] [-e time] [-i sec]
DESCRIPTION
System activity data can be accessed at the special request of a user
[see sar(1M)] 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 two 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 "$TFADMIN /usr/lib/sa/sadc /var/adm/sa/sa`date +%d`"
The shell script sa1, a variant of sadc, is used to collect and store
data in the binary file /var/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 following entries in
/var/spool/cron/crontabs/sys produce records every 20 minutes during
working hours and hourly otherwise:
0 * * * 0-6 $TFADMIN /usr/lib/sa/sa1
20,40 8-17 * * 1-5 $TFADMIN /usr/lib/sa/sa1
See crontab(1) for details.
The shell script sa2, a variant of sar, writes a daily report in the file
/var/adm/sa/sardd. The options are explained in sar(1M). The following
entry in /var/spool/cron/crontabs/sys reports important activities hourly
during the working day:
10/89 Page 1
sadc(1M) UNIX System V(System Performance Analysis Utilities) sadc(1M)
5 18 * * 1-5 $TFADMIN /usr/lib/sa/sa2 -s 8:00 -e 18:01 -i 1200 -A
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 vminfo vmi;/* defined in /usr/include/sys/sysinfo.h */
rf_srv_info_t rf_srv;/* defined in /usr/include/sys/fs/rf_acct.h */
fsinfo_t rfs_in;
fsinfo_t rfs_out;/* defined in /usr/include/sys/sysinfo.h */
rfc_info_t rfc;/* defined in /usr/include/sys/fs/rf_acct.h */
struct kmeminfo km;/* defined in /usr/include/sys/sysinfo.h */
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 */
int apstate; /* Co-processor flag */
long devio[NDEVS][5];/* device unit information */
#define IO_OPS 0/* cumulative I/O requests */
#define IO_BCNT 1/* cumulative blocks transferred */
#define IO_ACT 2/* cumulative drive busy time in ticks */
#define IO_RESP 3/* cumulative I/O resp time in ticks */
#define IO_ID 4
};
FILES
/var/adm/sa/sadd daily data file
/var/adm/sa/sardddaily report file
/tmp/sa.adrfl address file
SEE ALSO
crontab(1), sag(1M), sar(1M), timex(1).
Page 2 10/89