sar - system activity reporter
sar [-ubdDFycwaqvmprtghIAUTR] [-o file] t [ n ]
sar [-ubdDFycwaqvmprtghIAUTR] [-s time] [-e time] [-i sec] [-f file]
sar, in the first instance, samples cumulative activity counters in the
operating system at n intervals of t seconds, where t should be 5 or
greater. If the -o option is specified, it saves the samples in file in
binary format. The default value of n is 1. In the second instance,
with no sampling interval specified, sar extracts data from a previously
recorded file, either the one specified by -f option or, by default, the
standard system activity daily data file /var/adm/sa/sadd for the current
day dd. The starting and ending times of the report can be bounded via
the -s and -e time arguments of the form hh[:mm[:ss]]. The -i option
selects records at sec second intervals. Otherwise, all intervals found
in the data file are reported.
In either case, subsets of data to be printed are specified by option:
-u Report CPU utilization (the default):
The system-wide average of the statistics reported by -U.
-U Report per-CPU utilization statistics:
%usr, %sys, %intr, %wio, %idle, %sbrk - portion of each cpu's time
running in user mode, running in system mode, processing interrupts,
idle and waiting for I/O, completely idle or idle with some process
waiting because system memory is scarce, respectively. These six
percentages add up to 100%. The time that the processor spent in
``idle waiting for I/O'' state is further broken down into the
%wfs - waiting for filesystem I/O
%wswp - waiting for swap I/O to complete
%wphy - waiting for physio other than swapping
%wgsw - waiting for graphics context switch to complete
%wfif - waiting while graphics pipe too full
These five numbers add up to 100% of the %wio time.
Prior to the IRIX 6.5.13 release, a processor was considered
``waiting for I/O'' if it was idle and there was any I/O outstanding
on the system. Beginning with the IRIX 6.5.13 release, a processor
is only considered ``waiting for I/O'' if it is idle and any of the
outstanding I/O was initiated on that particular processor. Reports
generated from system activity daily data files (/var/adm/sa/sadd)
created prior to the IRIX 6.5.13 release will reflect the old data.
This change results in no difference on uniprocessor machines.
-b Report buffer activity:
bread/s, bwrit/s - basic blocks transferred between system buffers
and disk or other block devices;
lread/s, lwrit/s - basic blocks transferred from system buffers to
wcncl/s - pending writes in system buffers cancelled;
%rcach, %wcach - cache hit ratios, that is, (1-bread/lread) as a
pread/s, pwrit/s - basic block transfers via raw (physical) device
-d See also -D and -F below. Report activity for block devices (i.e.
disk drives). The activity data reported is:
device - /dev/dsk device name (sans parition)
%busy - % of time device was busy performing I/O requests;
avque - average number of I/O requests outstanding;
r+w/s - number of read AND write I/O requests per second;
blks/s - number of 512-byte blocks (basic block) read AND written;
w/s - number of write I/O requests per second;
blks/s - number of 512-byte blocks (basic block) written;
avwait - average time in ms. that I/O requests wait idly on queue;
avserv - average time in ms. to service I/O requests (which for
disks includes seek, rotational latency and data transfer time).
-D This option is identical to -d above except that it does not report
idle disks (disks that transferred no data blocks).
-F This option is only meaningful in conjunction with -d or -D. It is
designed to be used with fabric devices that have long names that
would make line formatting uneven. It causes the device name to be
printed on the right of the output lines rather than on the left.
-y Report TTY device activity:
rawch/s, canch/s, outch/s - input character rate, input character
rate processed by canon, output character rate;
rcvin/s, xmtin/s, mdmin/s - receive, transmit and modem interrupt
-c Report system calls:
scall/s - system calls of all types;
sread/s, swrit/s, fork/s, exec/s - specific system calls;
rchar/s, wchar/s - characters transferred by read and write system
-w Report system swapping and switching activity:
swpin/s, swpot/s, bswin/s, bswot/s - number of transfers and number
of 512-byte units transferred for swapins and swapouts (including
initial loading of some programs);
pswpout/s - process swapouts
pswch/s - process (user thread) switches.
kswch/s - kernel thread switches.
-g Report graphics activity:
gcxsw/s - graphics context switches per second
ginpt/s - graphics input driver calls per second
gintr/s - graphics interrupts other than FIFO interrupts per second
fintr/s - FIFO too full interrupts per second
swpbf/s - swap buffers calls per second
-a Report use of file access system routines:
iget/s, namei/s, dirblk/s.
-q Report average queue length while occupied, and % of time occupied:
runq-sz, %runocc - run queue of processes in memory and runnable;
swpq-sz, %swpocc - swap queue of processes swapped out but ready to
wioq-sz, %wioocc - queue of processes waiting for I/O.
Prior to the IRIX 6.5.13 release, %wioocc was the percent of wallclock
time that any process was waiting for I/O. Beginning with the
IRIX 6.5.13 release, %wioocc is the average of each processor's time
spent with I/O outstanding.
The reported wioq-sz also changed. Prior to the IRIX 6.5.13
release, it was the average number of processes on the system
waiting for I/O when any wio queue was occupied. It is now the
weighted average of the average length of each processor's wio queue
when that queue is occupied, weighted by the amount of time that
that queue was occupied.
In reports generated with a current sar from data files from before
this change, and in reports generated with an old sar from new data
files, the %wioocc field is invalid.
-v Report status of process, i-node, file tables and record lock
proc-sz, inod-sz, file-sz, lock-sz - entries/size for each table,
evaluated once at sampling point;
ov - overflows that occur between sampling points for each table.
-m Report message and semaphore activities:
msg/s, sema/s - primitives per second.
-p Report paging activities:
vflt/s - address translation page faults (valid page not in memory);
dfill/s - address translation fault on demand fill or demand zero
cache/s - address translation fault page reclaimed from page cache;
pgswp/s - address translation fault page reclaimed from swap space;
pgfil/s - address translation fault page reclaimed from filesystem;
pflt/s - (hardware) protection faults -- including illegal access to
page and writes to (software) writable pages;
cpyw/s - protection fault on shared copy-on-write page;
steal/s - protection fault on unshared writable page;
rclm/s - pages reclaimed by paging daemon.
Dfill, cache, pgswp, and pgfil are subsets of vflt; cpyw and steal
are subsets of pflt.
-t Report translation lookaside buffer (TLB) activities:
tflt/s - user page table or kernel virtual address translation
faults: address translation not resident in TLB;
rflt/s - page reference faults (valid page in memory, but hardware
valid bit disabled to emulate hardware reference bit);
sync/s - TLBs flushes on all processors;
vmwrp/s - syncs caused by clean (with respect to TLB) kernel virtual
flush/s - single processor TLB flushes;
idwrp/s - flushes because TLB ids have been depleted;
idget/s - new TLB ids issued;
idprg/s - tlb ids purged from process;
vmprg/s - individual TLB entries purged.
-r Report unused memory pages and disk blocks:
freemem - average pages available to user processes;
freeswap - disk blocks available for process swapping;
vswap - virtual pages available to user processes.
-h Report system heap statistics:
heapmem - amount of memory currently allocated to all kernel dynamic
heaps (block managed arenas, general zone heaps, and private zone
overhd - block managed arena overhead;
unused - block managed arena memory available for allocation;
alloc/s - number of allocation requests per second;
free/s - number of free requests per second.
-I Report interrupt statistics:
intr/s - non-vme interrupts per second;
vmeintr/s - vme interrupts per second;
-R Report memory statistics
physmem - physical pages of memory on system;
kernel - pages in use by the kernel;
user - pages in use by user programs;
fsctl - pages in use by filesystem to control buffers;
fsdelwr - pages in use by filesystem for delayed-write buffers;
fsdata - pages in use by filesystem for read-only data buffers;
freedat - pages of free memory that may be reclaimable;
empty - pages of free memory that are empty.
-A Report all data. Equivalent to -udqbwcayvmprtghIUR.
-T Report total counts instead of just percentages or per-second
values. The counts are calculated by taking the difference between
the start and end values in the data file.
To see today's CPU activity so far:
To watch CPU activity evolve for 10 minutes and save data:
sar -o temp 60 10
To later review disk activity from that period:
sar -d -f temp
To show total disk activity from that period:
sar -T -d -f temp
daily data file, where dd are digits representing the day
of the month.
gr_osview(1), osview(1), sar(1M)
sar: sa1, sa2, sadc - system activity report package
/usr/lib/sa/sadc [t n] [ofile]
/usr/lib/sa/sa1 [t n]
/usr/lib/sa/sa2 [-ubdDycwaqvmprtghIA] [-s time] [-e time] [-i sec]
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 a number of counters that are incremented as
various system actions occur. These include counters for CPU
utilization, buffer usage, disk I/O activity, TTY device activity,
switching and system-call activity, file-access, queue activity, interprocess
communications, paging and graphics.
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 every t seconds and
writes in binary format to ofile or to standard output. 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 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 entries in /usr/spool/cron/crontabs/sys
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
The shell script sa2, a variant of sar(1), writes a daily report in file
/var/adm/sa/sardd. The options are explained in sar(1). The
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.
/var/adm/sa/sadd daily data file
/var/adm/sa/sardd daily report file
/tmp/sa.adrfl address file
sar(1), timex(1), cron(1M)
PPPPaaaaggggeeee 2222 [ Back ]