Amiga Unix — 68040 · 68060

Manual pages › System administration commands (1M)

sar(1M)

system activity report package

From the original Amiga UNIX 2.1 manual. Some things it mentions may not be in this release.

Also by this name: sar(1), General commands

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 [-ubdycwaqvmpgrkxDSAC] [-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 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 "/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  will  produce records every 20
minutes during working hours and hourly otherwise:
     0 * * * 0-6 /usr/lib/sa/sa1
     20,40 8-17 * * 1-5 /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(1). The following entry in /var/spool/cron/crontabs/sys will report important activities hourly during the working day:

5 18 * * 1-5 /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 */
  struct bpbinfo bi[4];/* 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  */
  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(1G), sar(1), timex(1).