SAR(1) SAR(1) NAME sar - system activity reporter SYNOPSIS sar [-ubdDFycwaqvmprtghIAUTR] [-o file] t [ n ] sar [-ubdDFycwaqvmprtghIAUTR] [-s time] [-e time] [-i sec] [-f file] DESCRIPTION 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 following categories: %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. Notice: It is possible for these five numbers to be non-zero even if %wio is zero. This can occur when %wio is non-zero, but less than 1. 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 user memory; wcncl/s - pending writes in system buffers cancelled; %rcach, %wcach - cache hit ratios, that is, (1-bread/lread) as a percentage; pread/s, pwrit/s - basic block transfers via raw (physical) device mechanism. -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 rates. -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 calls. -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 run; wioq-sz, %wioocc - queue of processes waiting for I/O. Prior to the IRIX 6.5.13 release, %wioocc was the percent of wall- clock 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 tables: 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 page; 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 memory depletion; 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 heaps); 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. EXAMPLES To see today's CPU activity so far: sar 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 FILES /var/adm/sa/sadd daily data file, where dd are digits representing the day of the month. SEE ALSO gr_osview(1), osview(1), sar(1M) Page 5