Trailing-Edge
-
PDP-10 Archives
-
BB-L288A-RM
-
swskit-documentation/performance.memos
There are 5 other files named performance.memos in the archive. Click here to see a list.
FRIDAY
FRIDAY is a TOPS-20 performance tool that can be used to analyze both
system and job performance. FRIDAY outputs an incremental picture of
what is happening on the system. This report is intended to be used
as an aid in understanding how the system resources are being used and
what steps should be taken to make more efficient use of these
resources.
How to run FRIDAY:
1) FRIDAY is a privileged program. As such it requires that the
process in which FRIDAY is running has "WHEEL" or "OPERATOR"
capabilities enabled.
@ ENABLE (CAPABILITIES)
$
2) Since FRIDAY is a special program and is intended only for use
by system programers, it is distributed on SYSTEM: instead of
SYS:.
$ RUN SYSTEM:FRIDAY
3) FRIDAY writes its report to a file. Since the report is 132
columns wide, it is intended that the output be directed to a
disk file and subsequently printed on the line printer.
FRIDAY 3A(1), /H for Help
Output to file: FRIDAY.OUT
NOTE: Do not use .DAT as the file type since this will cause
the printed output to be garbled.
4) FRIDAY next asks if the report should contain Monitor
Statistics and Job Statistics. It is worthwhile to answer
"YES" to both of these questions since data from both sections
of the report are used in analyzing the system's performance.
Print Monitor Statistics? Y
Print Job Summary? Y
Page 2
5) The final question concerns the reporting interval. A good
interval is about 2 to 3 minutes. Since FRIDAY itself
requires some CPU time to generate each report, setting an
interval of less than 2 minutes may cause FRIDAY to affect the
load characteristics of the system enough to bias the results.
Because users can easily switch between several programs
during long reporting intervals, setting the interval longer
than 3 minutes makes it difficult to get accurate data on
particular programs or jobs.
Time Period (MM:SS) 2:0
6) At this point, FRIDAY starts inserting the SNOOP Break Points
which it uses to gather the Data used to generate its reports.
Since it has to look up the location of each Break Point in
the Monitor's symbol table, there will be a 10-30 second pause
(depending on system load) before FRIDAY starts collecting
data. When the data collection phase has started, FRIDAY
types out "WATCH IN OPERATION -- ".
7) To stop FRIDAY, type:
^C
^C
$CLOSE
$RESET
$
At this point, the output file can be printed. An example of
the report produced by FRIDAY is attached to the end of this
document.
Page 3
Definitions of terms used in the Report
System Statistics:
USED USED is the percentage of the interval during which CPU was
actually executing code on behalf of user programs. This
includes CPU time spent in instruction execution within the
user program and CPU time spent in EXEC mode executing JSYS
calls. This value is kept by the system and includes time
spent by jobs that logged out during the interval.
IDLE IDLE is the percentage of the interval during which the CPU
had nothing to do. This represents the amount of time during
which there were absolutely no jobs demanding to be run by the
CPU. If this number is non-zero, the system is being under
utilized.
SWPW SWPW is the percentage of the interval during which the CPU
was not able to run any jobs because the pages needed by the
runnable jobs were not in main memory. The term "SWPW" is
somewhat misleading since it does not distinguish between
waits caused by pages being read in from a disk file or by
pages being read in from the "swapping space". A rough break
down of the time spent waiting for "Disk" reads versus "Swap"
reads can be obtained by comparing the sum of DKRD + DKWR to
the sum of DMRD + DMWR.
SKED SKED is the percentage of the interval during which the
TOPS-20 scheduler was running.
SUSE SUSE is the sum of the run time percentages accumulated by
each job listed in the report. This value differs from "USED"
only by the skew that builds up during the time that FRIDAY
takes to collect all of the data about each job, and by the
loss of data from jobs that logged out during the interval.
NCOR NCOR is the average number of memory garbage collections
performed by the monitor each minute during the last interval.
AJBL AJBL is the average number of times per minute the system was
forced to adjust the balance set during the last interval.
NREM NREM is the average number of times per minute the monitor had
to remove a process from the balance set before the process
was ready to be removed. This number becomes non-zero
whenever there are more jobs wanting to be run by the system
than there is room in memory. Whenever this situation arises,
the monitor must force runnable jobs to be removed from the
balance set and subsequently swapped out to make room for
other runnable jobs to be swapped into memory. In general,
whenever this number goes non-zero, response time becomes
longer.
Page 4
TRAP TRAP is the percentage of the interval during which the CPU
was responding to page faults. This time is normally charged
to the user, and is therefore also part of "USED" time.
However, it is possible to make the system not include page
fault time as a part of the users run time. In this case,
"TRAP" time is not included in "USED" time.
NRUN NRUN is the average number of processes demanding to be run at
any point in time during the interval. This number represents
the CPU load on the system during the interval. When NRUN is
greater than 1.0, the user programs running during the
interval experience an average elongation of execution time
(as compared to execution time measured on a stand alone
system) of at least "NRUN" times longer.
NBAL NBAL is the average number of processes in the Balance Set
during the interval. If this number is less than NRUN by a
significant amount, it usually implies that there isn't enough
memory to hold all runnable processes.
BSWT BSWT is the average number of processes in the Balance Set
that are waiting for a page to be read into main memory. If
NBAL - BSWT is less than one, then there are not enough
runnable processes in memory to keep the CPU busy 100% of the
time. In this case, SWPW will increase.
DSKR DSKR is the percentage of the processes in Balance Set Wait
state, "BSWT", that are waiting for a file page to be read
into memory.
DSKW DSKW is the percentage of the processes in Balance Set Wait
state, "BSWT", that are waiting for file pages to be written
back to the disk.
SWPR SWPR is the percentage of the processes in the Balance Set
Wait state, "BSWT", that are waiting for a page to be swapped
into memory from the swapping area.
UPGS UPGS is the sum of the average number of working set pages for
each job in the balance set.
BGND BGND is the percentage of the interval during which the
monitor was doing background tasks. The primary background
task represented by this number is the task of moving terminal
input characters from a system wide buffer to the individual
terminal input buffers. This also includes the time it takes
to echo terminal input characters.
TCOR TCOR is the percentage of the interval that the monitor spent
garbage collecting memory. The garbage collection process
requires the monitor to look at the age of each page in memory
to see which ones haven't been referenced in a while. The
least recently used pages become the prime candidates for
being swapped out.
Page 5
CTXS CTXS is the average number of context switches performed by
the scheduler per second. A context switch is made whenever
the scheduler decides to stop running one process and start
running another process. This happens when the running
process voluntarily blocks, or it faults on a page that is not
in memory, or when a higher priority process is ready to run.
Since it takes CPU time to perform a context switch, CTXS
directly affects SKED.
FPGS FPGS is the average number of physical memory pages that are
currently available for swapping in user processes. The
monitor normally keeps between 20 and 100 pages on this queue.
The monitor uses these pages (and the rest of memory not in
use by Balance Set processes) as a page cache. For example,
if a process reenters the balance set after waking up from a
blocked state and it still has some of its pages in memory in
the free page pool, then those pages are used directly without
requiring any disk I/O. It has been demonstrated that this
cache plays an important part in overall system performance.
Therefore, if FPGS is very small, the system performance has
most likely been degraded.
DMRD DMRD is the number of reads per second that are made to the
swapping area.
DMWR DMWR is the number of writes per second made to the swapping
area.
DKRD DKRD is the number of reads per second made to the file
system.
DKWR DKWR is the number of writes per second made to the file
system.
TTIN TTIN is the number of terminal input characters received per
second from all terminals on the system.
TTOU TTOU is the average number of terminal characters output per
second by all jobs on the system.
WAKE WAKE is the number of process wakes per second. The types of
wakes that fall into this category are:
IPCF
ENQ
Terminal Input
Terminal Output
Process Termination
DISMS
TIMER
IIC
TTCC TTCC is the number of terminal interrupt characters (e.g.,
control-C) typed per second.
TDIO TDIO is the aggregate number of disk pages read or written per
Page 6
second to both the file system area and to the swapping area.
The maximum rate for a single channel system is about 60 pages
per second. The maximum rate for a two channel system is
about 100 pages per second.
Queue Distribution Percentage
The TOPS-20 Monitor has five scheduler queues. All runnable
jobs are divided among these queues. The first queue is only
used by Job 0 and by jobs in the special high priority
category. Normally the percentage of run time accumulated in
this queue is small.
The second and third queues are the interactive queues. If
the sum of these two values is high, then there is a lot of
interactive load on the system.
The last two queues are the computational queues. Processes
only move onto these queues if they have entered a compute
bound phase. If the sum of these two values is high, then the
system load is primarily computational.
Load Averages
The system keeps three exponential load averages. These
values represent the average load over the last 1 minute, the
last 5 minutes, and the last 15 minutes. These numbers can be
used to estimate the expected elongation of the elapsed time
required to run a program. If the system load average equals
X, then the approximate elapsed time required to run an
additional program on the system is (1+X)*Y, where Y is the
stand alone elapsed time required to run this program.
By comparing the three load averages, it can be determined
whether the system load is rising or falling.
High Queue Averages
These values are the components of each of the load average
values that are attributable to interactive jobs.
Low Queue Averages
These values are the components of each of the load average
values that are attributable to compute bound jobs. The sum
of the high queue average and the low queue average equals the
load average.
Job Statistics
JOB JOB is the job number.
TTY TTY is the number of the terminal that is being used by the
user running this job. "DET" means that the job is not
attached to a controlling terminal.
Page 7
USER USER is the name of the user who is running this job.
PROGRAM This is the name of the program being run by the user of this
job. Please note that the program name is obtained at the end
of the interval. Sometimes the data gathered during the
interval reflects the behavior of a program that was running
just prior to the start up of the current program.
%RT This is the percentage of the CPU that this job received
during the interval. The sum of the "%RT" values for all jobs
equals "SUSE".
DEMD This is the percentage of the interval that the job wanted to
run. If a job has a "DEMD" of 100, that job is a compute
bound job that is demanding to be run continuously. Since it
takes some time for FRIDAY to snap shot the data, the "DEMD"
values may be slightly inaccurate, but the average over
several intervals will be accurate.
USED USED is the percentage of DEMD time that this job spent
executing.
GRDY GRDY is the percentage of DEMD time that this job was runnable
but could not fit in the balance set. A job must be in the
balance set before it will be chosen by the scheduler to run.
The most common cause for jobs to be on this list is that
there is not enough memory to hold all runnable jobs.
BRDY BRDY is the percentage of DEMD time that this job was in the
balance set but was not being run. Usually jobs in this state
are waiting for their turn to use the CPU.
SWPR SWPR is the percentage of DEMD time that this job spent
waiting for pages to be swapped into memory from the swapping
area.
DSKR DSKR is the percentage of DEMD time that this job spent
waiting for file pages to be read into memory from the disk.
DSKW DSKW is the percentage of DEMD time that this job spent
waiting for file pages to be written to the disk.
SWPI SWPI is the percentage of DEMD time that this job spent
waiting for its Process Storage Blocks (PSB), page table, and
Job Storage Block (JSB) to be swapped in. The Process Storage
Blocks contain the definition of the job's working set and the
job's PC. These special pages must all be in memory before
the job can be run.
UDWT UDWT is the percentage of DEMD time that this job spent
waiting for updates to files, directories, Index Blocks, or
the BIT table to be completed. Time accumulates in this area
whenever a job requests that a specific file system action
finish to completion. For example, closing a file that was
open for writing requires that all pages of the file be
Page 8
written onto the disk and that the file name appears in the
directory before the close function is complete. While the
job is waiting for these writes to complete, the job is in the
"UDWT" state.
RPQW RPQW is the percentage of DEMD time that this job spent
waiting for a physical memory page to become available for
swapping into. Usually if time is accumulating here, there is
a shortage of memory on the system.
OTHR This last category is the percentage of DEMD time that this
job spent in any of the other wait states.
The sum of USED + GRDY + BRDY + SWPR + DSKR + DSKW + SWPI +
UDWT + RPQW + OTHR for each job is equal to 100% of the DEMD
time.
RESP RESP is the average response time in seconds over the
interval. The time for each response is defined as the
elapsed time from when an event for which the job is waiting
has completed, to the time that the job goes back into a wait
state after having responded to the event. Responses that
require more than 2 seconds of CPU time time finish are not
counted in this column.
NRSP NRSP is the number of responses that the job had during the
interval.
SR SR is the "Stretch Ratio" for each response. The stretch
ratio is obtained by dividing the elapsed time of each
response by the compute time required to satisfy each
response.
WSS WSS is the average number of pages in the job's working set.
WSS is the sum of the working set sizes of each process within
the job.
The job working set size is obtained by summing the
integration of the instantaneous process working set size
(FKNR) over all time that the process is not blocked for all
processes in the job. The average process size is the
integral divided by the accumulated time, i.e.
WSS = SUM all processes (integral FKNR dt / T not blocked)
UPGS UPGS is the average number of pages actually in memory when
the job is running. Since the system "demand" pages in each
page one at a time, this number is usually slightly less than
"WSS".
The job used pages is obtained by integrating the
instantaneous process assigned pages (FKWSP) over all time
that the fork is in the balance set. The average used pages
is then the integral divided by the accumulated time, i.e.
Page 9
UPGS = SUM all processes (integral FKWSP dt / T in balset)
SWPR SWPR is the number of times that the process had to wait for a
page to be read in from the swapping area. This may be more
than the actual number of pages swapped in.
DSKR DSKR is the number of times that the process had to wait for a
page to be read in from the file system. If the process is
doing prefaulting, this number may be less than the actual
number of pages read.
TPF TPF is the average number of milliseconds that it took to
satisfy each page fault for this job during the interval.
IFA IFA is the "Inter-Fault Average". This value represents the
average compute time in milliseconds between page faults for
this job. A large "IFA" means that the working set of this
job is very stable.
System Summary Values
DEMD The summary value for the DEMD column is the sum of each item
in the column. This represents the total demand put on the
system over the interval.
USED - OTHR
These values represent the average values over all jobs on the
system.
RESP The summary value for the RESP column is the average response
time of all responses in the interval.
NRSP The summary value for the NRSP column is the total number of
responses received during the interval.
SR The summary value for the SR column is the average stretch
ratio for the jobs on the system during the interval.
WSS The arithmetic sum of the working sets of all jobs active
during the interval is computed and reported in the system
summary WSS column. This represents the total number of pages
used during the interval.
SYS WSS = SUM all jobs (JOB WSS)
UPGS The summary value of the UPGS column is the sum of the working
set page integrals for all jobs divided by the interval time,
i.e.
SYS UPGS = SUM all jobs (integral FKWSP dt) / T interval
Page 10
SWPR The SWPR column summary is the total number of swap reads done
by the jobs on the system. This does not include the swap
reads required to swap in PSB pages.
DSKR The DSKR column summary is the total number of disk reads done
by the jobs on the system.
TPF The TPF column summary is the average time required to fault
in a page.
IFA The IFA column summary is the average time between page faults
for all jobs on the system.
TOTRC TOTRC represents the total number of physical memory pages
available after the resident monitor is locked down.
LOKPGS LOKPGS is the current number of pages locked down other than
the resident monitor pages. Out of this set of pages comes
the terminal buffers, mag tape buffers, line printer buffers,
and other pages locked down during certain file system
operations.
AVAIL MEM
This is the difference between "TOTRC" and "LOKPGS". This is
the actual number of pages available for use by user programs.
SHR PGS This is the average number of physical memory pages being
shared by more than one process.
NRUN MIN, MAX
These values are the minimum and maximum of "NRUN" over the
interval.
SUMNR MIN, MAX
These values are the minimum and maximum number of pages in
the balance set during the interval.
SYS MEM DMD
The system average memory demand is the sum of the NR
integrals for all jobs divided by the interval time, i.e.
SYS MEM DMD = SUM all jobs (integral FKNR dt) / T interval
SWAP RATIO
The Swap Ratio is the system WSS divided by the amount of
available main memory. This represents the amount by which
main memory would have to be increased to avoid any swapping
during the interval.
SWAP RATIO = SYS WSS / AVAIL MEM
ACTIVE SWAP RATIO
The active swap ratio is the system average core demand
divided by the amount of available main memory. This
represents the amount by which main memory would have to be
Page 11
increased to hold all jobs wanting to run simultaneously.
ACTIVE SWAP RATIO = SYS MEM DMD / AVAIL MEM
MEM UTILIZATION
The core utilization if the system used pages divided by the
amount of available main memory. For active swap ratios
greater than 1, this indicates how well the monitor is doing
in keeping core used.
MEM UTILIZATION = SYS UPGS / AVAIL MEM
Page 12
How to Use Friday to Analyze System Performance
1. Look at the overall disk I/O rate (TDIO)
For a 1 channel system the maximum rate is about 60
pages per second. For a 2 channel system the maximum
rate is about 100 pages per second. If "TDIO" is at or
near the maximum, the disk bandwidth may be a system
bottleneck.
2. Look at the number of reads and writes to each disk unit.
If most of the reads and writes are to the PS:
structure, consider going to a two pack PS:.
If PS: is already a multiple pack structure, check to
see if there are some I/O bound applications that can be
moved onto a lightly loaded structure.
3. Look at "WSS" for each job
If there is a job with a working set greater than 100
pages, this job may be causing thrashing. If the job is
compute bound ("NRSP"=0), then look to see if there are
other large jobs on the system with this job. Only one
job should be greater than 1/2 of available memory
(AVAIL MEM). If more than one job is greater than 1/2
of available memory, then schedule these jobs to run
separately.
4. Look for highly interactive jobs.
Scan the "NRSP" column looking for jobs that wake up
frequently (more often than once every 3 seconds). For
any job that meets this criteria, look to see if that
job is also large. A large interactive job puts a very
heavy load on all of the system resources.
Try to understand why a job is waking up frequently. If
the rate at which it is waking can be reduced by
modifying the program, this would improve system
throughput.
Page 13
SUMMARY at 10-Nov-78 15:11:11
for an interval of 2:00 with 67 active jobs.
USED: 80.5 IDLE: 0.0 SWPW: 1.4 SKED: 15.7
SUSE: 77.8 NCOR: 1.51 AJBL: 58.71 NREM: 0
TRAP: 17.9 NRUN: 8.6 NBAL: 8.7 BSWT: 1.1
DSKR: 31.6 DSKW: 11.5 SWPR: 41.8 UPGS: 576.
BGND: 2.6 TCOR: 0.7 CTXS: 49.1 FPGS: 362.
DMRD: 9.4 DMWR: 7.0 DKRD: 5.8 DKWR: 4.5
TTIN: 7.6 TTOU: 516. WAKE: 11.0 TTCC: 3.51
TDIO: 26.7
QUEUE DISTRIBUTION PERCENTAGE: 0.08 12.72 17.40 2.11 48.05
LOAD AVERAGES: 8.84 8.52 7.95
HIGH QUEUE AVERAGES: 3.05 2.97 3.17
LOW QUEUE AVERAGES: 5.79 5.55 4.78
JOB TTY USER PROGRAM %RT DEMD USED GRDY BRDY SWPR DSKR DSKW SWPI UDWT RPQW OTHR RESP NRSP SR WSS UPGS SWPR DSKR TPF IFA
0 DET OPERATOR SYSJOB 0.4 3.3 16.9 22.3 31.9 14.5 8.0 6.5 0.12 34 6 12.7 9.6 31 11 43 15
2 214 OPERATOR OPLEAS 0.1 0.6 14.1 4.5 66.6 14.8 0.13 5 7 10.2 7.9 11 0 40 8
3 207 OPERATOR ORION 0.0 0.5 4.8 2.2 50.8 26.2 16.0 0.30 2 21 19.8 5.0 5 2 65 4
4 217 OPERATOR QUASAR 0.1 1.6 11.7 4.3 58.4 18.9 6.6 0.24 8 9 28.8 15.9 25 3 52 8
7 6 R.ACE MD 3.6 32.4 14.0 16.5 30.0 18.9 6.3 2.0 6.2 6.1 0.28 198 7 29.6 27.3 223 118 55 15
11 115 ACARLSON PTYCON 0.1 1.0 19.0 32.9 19.5 22.9 5.7 0.04 29 5 13.0 12.2 6 5 47 21
13 220 OPERATOR FAL20 0.1 1.5 23.6 76.4 0.01 141 4 9.6 8.6 0 0
15 DET OPERATOR PERF 1.1 6.7 20.1 6.5 13.8 59.7 0.62 13 5 43.4 40.9 0 24 46 67
17 211 OPERATOR LPTSPL 0.0 0.3 7.7 54.3 38.0 0.20 2 13 12.6 4.3 8 0 27 3
18 212 OPERATOR LPTSPL 0.0 0.6 11.2 1.1 69.4 18.3 0.14 5 9 15.8 6.2 16 0 30 4
19 213 OPERATOR BATCON 0.1 1.6 14.5 10.0 61.4 7.0 7.1 0.19 10 7 25.0 20.9 36 3 33 7
21 37 PTAYLOR EXEC 0.1 0.1 51.5 48.5 0.01 12 2 16.0 15.8 0 0
22 7 R.ACE MOUNT 0.0 0.3 15.9 3.2 69.4 11.6 0.09 4 6 9.0 6.3 7 0 34 7
27 132 LCAMPBELL DMM 0.2 1.3 19.1 22.1 42.7 13.6 2.6 0.12 13 5 16.0 14.0 22 0 30 13
29 42 HURLEY FRIDAY 1.8 5.1 37.7 22.8 35.1 3.2 1.1 62.4 61.8 56 4 38 38
30 30 LEACHE CROCK 0.7 24.6 3.4 96.6 0.33 90 30 8.0 6.0 0 0
36 20 ELFSTROM EXEC 0.1 2.3 18.0 55.8 13.7 12.5 0.1 0.15 12 4 21.8 19.3 4 5 79 54
37 DET OSMAN EXEC 10.4 189.9 8.0 85.0 7.0 0.49 383114 4.0 2.2 0 0
39 121 BLOOD EXEC 2.2 9.0 27.4 32.5 14.0 19.3 4.1 1.7 0.5 0.5 0.20 19 8 31.4 29.9 33 43 47 38
42 225 BERKOWITZ MACRO 9.8 102.5 10.0 87.2 2.8 0.1 66.0 60.1 10 2 2901022
43 117 1EIBEN EXEC 0.3 2.1 19.3 22.4 51.9 1.7 1.5 3.1 0.09 29 5 8.4 6.2 21 1 60 21
44 73 GRANT EXEC 0.6 2.7 25.4 5.1 19.5 40.4 7.2 2.1 0.3 0.12 29 4 16.0 14.6 16 24 48 20
45 222 MURPHY MACRO 10.7 99.0 10.8 85.0 1.1 3.1 78.7 75.7 17 5 225 581
53 107 LYONS MM 0.2 0.4 23.7 76.3 0.02 24 4 18.0 18.0 0 0
56 231 ACARLSON CREF 10.8 87.5 13.9 63.4 2.8 16.2 3.5 0.0 0.2 0.0 0.15 11 4 62.1 53.5 40 171 94 68
58 110 BELANGER LIFE 7.1 39.1 18.9 81.1 0.51 93 5 18.4 15.4 0 0
60 67 DBELL FILDDT 0.7 8.5 14.6 7.8 74.7 2.1 0.8 0.44 23 7 47.7 46.6 162 3 47 8
63 150 CRUGNOLA EDIT 0.0 0.1 50.4 49.6 0.13 1 2 14.1 13.0 3 0 21 21
65 15 MILLER SYSTAT 1.6 9.3 20.9 8.5 62.9 5.3 1.2 1.3 0.44 24 5 44.4 41.5 140 10 50 15
67 DET OSMAN SDDT 10.2 254.4 5.6 94.4 0.0 19.14 14*** 4.0 0.0 0 0
71 46 OSMAN TV 4.1 21.8 21.9 53.6 9.5 7.8 6.3 0.3 0.5 0.1 0.15 190 5 38.5 34.5 61 47 41 53
74 103 HARAMUNDANISMM 0.0 0.4 7.2 0.6 48.2 23.8 20.1 0.24 2 14 8.5 5.8 7 2 38 3
76 70 TEEGARDEN EXEC 0.2 0.3 20.7 79.3 0.02 24 5 12.0 12.0 0 0
System summary 910.7 10.2 78.4 4.5 3.4 1.3 0.2 0.3 1.7 0.47 1444 18 826. 230.5 960 483 59 77
Page 14
TOTRC: 1483 LOKPGS: 94 SHR PGS: 217 AVAIL MEM: 1389
NRUN MIN,MAX: 5 17
SUMNR MIN,MAX: 479 820
SYS MEM DMD = 265.3
SWAP RATIO (SUM WSS / AV MEM) = 0.59
ACTIVE SWAP RATIO (DMD/AVMEM) = 0.19
MEM UTILIZATION ((UPGS+SHRPGS)/AVMEM) = 0.32
AV WS SIZE = 29.13
AV CPU TIME (MS) PER INTERACTION = 25.60
THINK TIME (SEC) PER INTERACTION = 2.02
DISK I/O
CHN,UNIT SEEKS READS WRITES
0,6 10 18 25 LANG #0
0,7 828 822 637 PS #1
1,0 737 854 595 PS #0
1,1 1 REL3 #0
1,2
2,3 17 21 8 MISC #0
2,4 91 111 115 SNARK #0
2,5 1
+---------------+
! d i g i t a l ! I N T E R O F F I C E M E M O R A N D U M
+---------------+
To: Rick Ace MR1-2/E37 Date: 16-Aug-79
Paul Baker MR1-2/E78 From: Kevin G. Wallace
David Bell MR1-2/E37 Dept: LCG Software Engineering
Sumner Blount MR1-2/E37 DTN (231-5076)
Eliot Brown MR1-2/E37 Loc: MR1-2/E37
Larry Campbell MR1-2/E37 File: [DOC-SPECS]WATDAT.MEM
Mimi Chen MR1-2/E37 Distributed:
Carolin Combs MR1-2/E37 Reviewed:
Alan Denizen BU/DZ
Peter Donahue BU/D2
Fred Engel MR1-2/E37
Clair Grant MR1-2/E37
Dale Gunn MR2-2/E37
Judy Hall MR1-2/E37
Dick Helliwell MR1-2/E47
Gail Holland MR1-2/E37
Donaleen Konn MR1-2/E85
Dave Kovalcin MR1-1/A86
David Latta MR1-2/E37
Gene Leach MR1-2/E37
Josephine McCarthy MR1-2/E37
Dave McClure MR1-2/E85
Kevin McElmoyle MR1-2/E37
Arnold Miller MR1-2/E37
Dan Murphy MR1-2/E37
Laura Neff MR1-2/S43
Eric Osman MR1-2/E37
Susan Porada MR1-2/E37
Ed Prentice MR1-2/E68
Meg Reed MR1-2/E37
Kathy Richer MR1-2/E37
Larry Samberg MR1-2/E37
Connie Sartini PK3-2/M88
Norm Valentine MR1-1/M42
Subject: Record Output for the WATCH Program
The following document is a description of the new data
record output feature of the WATCH program. This new
feature will be discussed at the Monitor Meeting on
20-Aug-79.
RECORD OUTPUT FOR WATCH
This document describes a new feature added to the
WATCH program, such that WATCH will output data records.
The work in implementing this new feature, and preparing
this document, was done by Kevin G. Wallace, a Co-op
student from MIT. The present WATCH program outputs a
listing of the system and user statistics which is only
useful in the visual sense. Although some persons have
written programs (in languages such as SNOBOL) to
post-process these listing files, by having the WATCH
program, itself, output its data in a more useful form, the
need for post-processing programs is eliminated, the data is
more easily accessible to high level languages (eg. FORTRAN
& COBOL), and the data is more accessible to statistical
packages, such as SPSS and/or SCSS.
The present WATCH output presents two major obstacles
to processing of its data. The output is of varying length
or size, and much unnecessary textual data is output. This
document describes record output for WATCH that would
structure the data output by WATCH, and eliminate the
unnecessary textual data output by the present WATCH
program. Note that the proposed new version of WATCH will
still have the capability to output the listing files output
by the present WATCH.
This document assumes reasonable knowledge of WATCH and
having read WATCH-NEW.HLP (or WATCH.NEW-MEM or WATCH.HLP),
or the equivalent thereof. All material in this document
refers to the WATCH program running in the mode in which it
outputs data records.
There are six different record types, at the present
time. The motivation for different record types originates
from two sources. First, for some record types there will
be an unknown number of occurences at the time the data
records are output. Second, different answers to the
initial WATCH questions cause different combinations of
records to be output.
Different Record Types
1. System Stats (System & Queues)
2. Load Averages
3. Expanded Per-Job
4. Normal Per-Job
5. Expanded Stats ( Dir Cache & Sys Util & Disk I/O)
6. Tune Mode
RECORD OUTPUT FOR WATCH Page 2
As an example of the latter, if a user specifies that
he/she would like no Monitor Stats, and the Job Summary,
then a Load Averages Record is output, and Normal Per-Job
records are output. However if the user had responded yes
to the Monitor Stats question and no to the Job Summary
question, then a System Stats record would be output, and a
Load Averages record would be output.
The mapping from the nine different display sections,
as mentioned in WATCH-NEW.HLP, to the new record types is as
follows. The Heading Section appears in the initial items
of every record type. The System Statistics Section is
found in the System Stats record. The Load Averages Section
is found in the record of the same name, and likewise for
the Normal Per-Job Information Section, the Expanded Per-Job
Information Section, and the Tune Mode Section. The
Directory Cache Section, the System Utilization Section, and
the Disk I/O Section are all combined into the Expanded
Stats record.
RECORD OUTPUT FOR WATCH Page 3
Questions From WATCH
At the present time WATCH prompts the user with three
questions about how much data should be output. These
questions are:
Question #1 Output to file: <filename>
Question #2 Monitor Stats? YES, NO, ALL
Question #3 Job Summary? YES, NO
Question #4 Tune Mode? YES, NO
Question #5 Time period (MM:SS): <interval>
The possible answers to these questions are listed after
each question. Two new questions are to be asked as a
result of the new record output, not necessarily as
questions six and seven, as shown here.
Question #6 Would you like to output data records? (Y/N)
YES, NO
Question #7 Output file for data records: <filename>
If data records are to be output, the records output, from
all the different legal possible combinations of questions
and answers, are listed below.
RECORD OUTPUT FOR WATCH Page 4
Records Output
From ALL Monitor Stats
1. System Stats
2. Load Averages
3. Expanded Per-Job (Several Occurences)
4. Expanded Stats
From NO Monitor Stats, NO Job Summary, NO Tune Mode
1. Load Averages
From NO Monitor Stats, NO Job Summary, YES for Tune Mode
1. Tune Mode
From NO Monitor Stats, YES for Job Summary
1. Load Averages
2. Normal Per-Job (Several Occurences)
From YES for Monitor Stats, NO Job Summary
1. System Stats
2. Load Averages
From YES Monitor Stats, YES for Job Summary
1. System Stats
2. Load Averages
3. Normal Per-Job (Several Occurences)
RECORD OUTPUT FOR WATCH Page 5
The data file is written in seven bit ASCII bytes. A
carriage-return and a line-feed are appended to all records
output.
The following pages contain more specific information
on each record type. A few definitions are in order, here.
Lengths, as specified in the record definitions, are the
number of seven bit ASCII bytes, as the output data file is
written in seven bit ASCII bytes. COBOL pictures have been
used to describe the content of each record, because of
their clarity. In these record descriptions, 9 represents a
numeric constant of one digit in length. 9(3) represents a
integer of length three and is equivalent to 999. 9(4).9
represents a floating point number with a four digit integer
part and a one digit fraction part. In all records output
by WATCH, the decimal point is output. X represents an
alphanumeric constant of length one. X(5) represents an
alphanumberic constant of length five, and is equivalent to
XXXXX.
The first five entries of all occurences of all record
types are the same. They are the Entry Record Type, the
Record Sequence Number, the date and time of the sample, the
duration of the sample or interval (in seconds), and the
number of jobs during the interval. The Entry Record Type
is a two digit number from "00" to "99", that specifies the
record type. The Record Sequence Number is the present
count of the number of records in a Record Group. As an
example, when Normal Per Job records are output, each Normal
Per-Job Record has a record type of "05". The first Normal
Per-Job Record output has a Record Sequence Number of "001".
Each succesive Normal Per-Job Record has a Record Sequence
Number that is one greater than the previous Normal Per-Job
Record. This Sequence continues until a record of a
different type is output, at which time the Record Sequence
Number is reset to "001". Note that these Record Sequence
Numbers are only valid within one instance or sample of
WATCH output.
RECORD OUTPUT FOR WATCH Page 6
System Statistics Record
The System Statistics Record contains information about
system parameters. The last entries of this Record are the
Queue Distribution Percentages. At the present time six
values are output. A maximum of ten entries in this section
is allowed.
A problem occurred in outputting this record in that
some of the pictures for output were data dependent, as
written in the original WATCH program. Therefore to make
the implementation, for outputting records easier, clearer,
and cleaner, all data items in the System Statics Record
will be output as 9(4).99.
SUMMARY at 6-Aug-79 09:28:23
for an interval of 0:11.3 with 52 active jobs.
USED: 88.0 IDLE: 0.0 SWPW: 0.7 SKED: 8.9
SUSE: 88.0 TCOR: 0.4 FILW: 0.4 BGND: 2.0
NTRP: 16.2 NCOR: 5.69 AJBL: 56.87 NREM: 0
TRAP: 2.1 NRUN: 2.9 NBAL: 2.9 NWSM: 50.0
BSWT: 0.5 DSKR: 51.8 DSKW: 13.1 SWPR: 26.6
NLOD: 28.43 CTXS: 39.6 UPGS: 1993. FPGS: 46.7
DMRD: 2.7 DMWR: 11.3 DKRD: 4.9 DKWR: 1.0
TTIN: 12.3 TTOU: 672. WAKE: 19.1 TTCC: 17.06
TDIO: 20.0 RPQS: 4.6 GCCW: 18.0 XGCW: 0
KNOB: 11
QUEUE DISTRIBUTION PERCENTAGE: 0.00 15.12 14.75 0.25
0.00 52.27
0100108/06/79 09:28:2300011.30520088.000000.000000.700008.90
0088.000000.400000.400002.000016.200005.690056.870000.000002
.100002.900002.900050.000000.500051.800013.100026.600028.430
039.601993.500046.700002.700011.300004.900001.000012.300672.
600019.100017.060020.000004.600018.000000.00000110000.000015
.120014.750000.250000.000052.270000.000000.000000.000000.000
6
Item Length Picture Value
1. Record Type 2 99 "01"
2. Record Sequence Number 3 999 "001"
3. Date & Time 17 X(17)
(MM/DD/YY HH:MM:SS)
4. Interval 7 9(5).9
5. Number of Jobs 3 999
6. USED 7 9(4).99
7. IDLE 7 9(4).99
RECORD OUTPUT FOR WATCH Page 7
8. SWPW 7 9(4).99
9. SKED 7 9(4).99
10. SUSE 7 9(4).99
11. TCOR 7 9(4).99
12. FILW 7 9(4).99
13. BGND 7 9(4).99
14. NTRP 7 9(4).99
15. NCOR 7 9(4).99
16. AJBL 7 9(4).99
17. NREM 7 9(4).99
18. TRAP 7 9(4).99
19. NRUN 7 9(4).99
20. NBAL 7 9(4).99
21. NWSM 7 9(4).99
22. BSWT 7 9(4).99
23. DSKR 7 9(4).99
24. DSKW 7 9(4).99
25. SWPR 7 9(4).99
26. NLOD 7 9(4).99
27. CTXS 7 9(4).99
28. UPGS 7 9(4).99
29. FPGS 7 9(4).99
30. DMRD 7 9(4).99
31. DMWR 7 9(4).99
32. DKRD 7 9(4).99
33. DKWR 7 9(4).99
34. TTIN 7 9(4).99
35. TTOU 7 9(4).99
36. WAKE 7 9(4).99
37. TTCC 7 9(4).99
38. TDIO 7 9(4).99
39. RPQS 7 9(4).99
40. GCCW 7 9(4).99
41. XGCW 7 9(4).99
42. KNOB 5 9(5)
43. Queue Distribution %'s 70
Max 10 entries; 1 entry 7 9(4).99
44. Number of Queue Dist Entries 2 99
---
361
RECORD OUTPUT FOR WATCH Page 8
Load Averages Record
The Load Average Record contains information about the
System Load Averages, Queue Averages and Class Load
Averages. At the present time there are three classes
(entries) of data for the Class Load Averages section. This
record will support a maximum of thirty-two entries.
LOAD AVERAGES: 3.06 2.74 2.38
HIGH QUEUE AVERAGES: 1.74 1.94 1.67
LOW QUEUE AVERAGES: 1.32 0.80 0.71
CLASS LOAD AVERAGES
CLA SHR UTIL
0 80.00 67.73 2.59 2.35 2.04
1 15.00 32.27 2.84 2.34 2.01
2 5.00 0.00 0.00 0.00 0.00
0200108/06/79 09:28:2300011.30520003.060002.740002.380001.74
0001.940001.670001.320000.800000.71000000080.000067.730002.5
90002.350002.04000010015.000032.270002.840002.340002.0100002
0005.000000.000000.000000.000000.00000000000.000000.000000.0
00000.000000.00000000000.000000.000000.000000.000000.0000000
0000.000000.000000.000000.000000.00000000000.000000.000000.0
00000.000000.00000000000.000000.000000.000000.000000.0000000
0000.000000.000000.000000.000000.00000000000.000000.000000.0
00000.000000.00000000000.000000.000000.000000.000000.0000000
0000.000000.000000.000000.000000.00000000000.000000.000000.0
00000.000000.00000000000.000000.000000.000000.000000.0000000
0000.000000.000000.000000.000000.00000000000.000000.000000.0
00000.000000.00000000000.000000.000000.000000.000000.0000000
0000.000000.000000.000000.000000.00000000000.000000.000000.0
00000.000000.00000000000.000000.000000.000000.000000.0000000
0000.000000.000000.000000.000000.00000000000.000000.000000.0
00000.000000.00000000000.000000.000000.000000.000000.0000000
0000.000000.000000.000000.000000.00000000000.000000.000000.0
00000.000000.00000000000.000000.000000.000000.000000.0000000
0000.000000.000000.000000.000000.00000000000.000000.000000.0
00000.000000.00000000000.000000.000000.000000.000000.0000000
0000.000000.000000.000000.000000.00000000000.000000.000000.0
00000.000000.00000000000.000000.000000.000000.000000.0003
Item Length Picture Value
1. Record Type 2 99 "02"
2. Record Sequence Number 3 999 "001"
3. Date & Time 17 X(17)
(MM/DD/YY HH:MM:SS)
4. Interval 7 9(5).9
RECORD OUTPUT FOR WATCH Page 9
5. Number of Jobs 3 999
6. Load Averages (3 values) 21
Each Value 7 9(4).99
7. High Queue Avgs (3 values) 21
Each Value 7 9(4).99
8. Low Queue Avgs (3 values) 21
Each Value 7 9(4).99
9. Class Load Averages 672
Max 32 entires; 1 entry 40
a. Class Number 5 9(5)
b. Share 7 9(4).99
c. Utilization 7 9(4).99
d. Load Avgs (3 values) 21
Each Value 7 9(4).99
10. Number of Class Load Avg. 2 99
----
1377
RECORD OUTPUT FOR WATCH Page 10
Expanded Per-Job Record
The Expanded Per-Job Record contains information about
each job, obtained from SNOOPing. Usually there are several
occurences of this record when a WATCH sample is taken. The
last Expanded Per-Job Record output for a specific sample is
one with a user named SYSTEM. This record contains all the
system totals for the previous Expanded Per-Job Records
output.
9 216 WALLACE GWATCH 11.0 33.0 32.8 4.3 48.4 9.1
5.4 173.6 1 1 0.43 15 142.0 44.3
7 3 53 122
24 174 WALLACE PTYCON 6.3 22.2 25.9 74.1
93.6 0 42 0.06 4 13.0 13.0
0 0
0300508/06/79 09:28:2300011.3052009216WALLACE GW
ATCH11.00033.0032.8004.3048.4009.1005.4000.0000.0000.00173.6
000100001000.4301500142.000044.3000070000300530122
0301208/06/79 09:28:2300011.3052024174WALLACE PT
YCON06.30022.2025.9000.0074.1000.0000.0000.0000.0000.00093.6
000000042000.0600400013.000013.0000000000000000000
System summary 279.5 31.5 5.1 50.4 4.1
6.9 2.0 2843.2 4 192 0.09 5 1228.0 190.3 2
9 39 50 145
0302008/06/79 09:28:2300011.3052999777SYSTEM
00.00279.5031.5005.1050.4004.1006.9002.0000.0000.02843.2
000400192000.0900501228.000190.3000290003900500145
Item Length Picture Value
1. Record Type 2 99 "03"
2. Record Sequence Number 3 999 "001" - "999"
3. Date & Time 17 X(17)
(MM/DD/YY HH:MM:SS)
4. Interval 7 9(5).9
5. Number of Jobs 3 999
6. Job Number 3 9(3)
7. TTY Number 3 9(3)
8. User Name 20 X(20)
9. Program Name 6 X(6)
10. %RT 4 99.9
11. DEMD 6 9(4).9
12. USED 5 999.9
13. GRDY 5 999.9
RECORD OUTPUT FOR WATCH Page 11
14. BRDY 5 999.9
15. SWPR 5 999.9
16. DSKR 5 999.9
17. DSKW 5 999.9
18. RPQW 5 999.9
19. OTHR 5 999.9
20. IMEM 6 9(4).9
21. NLD 4 9(4)
22. NRSP 5 9(5)
23. RESP 6 999.99
24. SR 3 999
25. WSS 7 9(5).9
26. UPGS 7 9(5).9
27. SWPR 5 9(5)
28. DSKR 5 9(5)
29. TPF 4 9999
30. IFA 4 9999
---
170
RECORD OUTPUT FOR WATCH Page 12
Normal Per-Job Record
The Normal Per-Job Record contains information about
each job, obtained from GETAB. Usually there are several
occurences of this record type when a WATCH sample is taken.
9 216 WALLACE GWATCH 1.79 21.7 12.77 1.45
24 174 WALLACE PTYCON 0.22 2.7 2.70 1.45
0400408/06/79 09:29:4300008.3054009216WALLACE GW
ATCH0001.7921.70012.770001.45
0400808/06/79 09:29:4300008.3054024174WALLACE PT
YCON0000.2202.70002.700001.45
Item Length Picture Value
1. Record Type 2 99 "04"
2. Record Sequence Number 3 999 "001" - "999"
3. Date & Time 17 X(17)
(MM/DD/YY HH:MM:SS)
4. Interval 7 9(5).9
5. Number of Jobs 3 999
6. Job Number 3 999
7. TTY Number (777 = DET) 3 999
8. User Name 20 X(20)
9. Program Name 6 X(6)
10. DELTA RT 7 9(4).99
11. %RT 4 99.9
12. JU 7 9(4).99
13. CSH 7 9(4).99
--
89
RECORD OUTPUT FOR WATCH Page 13
Expanded Stats Record
The Expanded Stats Record contains extra information
about the system. The last entries of this Record are Disk
I/O statistics. An entry is provided for each disk unit of
each structure. A maximum of 15 entries is allowed.
Directory Cache hits: 10
Directory Cache Misses - Cache Full: 0
Directory Cache Misses - New Entry Added: 8
TOTRC: 1992 LOKPGS: 107 SHR PGS: 245 AVAIL MEM: 1885
NRUN MIN,MAX: 1 11
SUMNR MIN,MAX: 1958 2058
NRPLQ MIN,MAX: 18 113
SYS MEM DMD = 204.4
SWAP RATIO (SUM WSS / AV MEM) = 0.65
ACTIVE SWAP RATIO (DMD/AVMEM) = 0.11
MEM UTILIZATION ((UPGS+SHRPGS)/AVMEM) = 0.23
AV WS SIZE = 36.56
AV CPU TIME (MS) PER INTERACTION = 19.04
THINK TIME (SEC) PER INTERACTION = 0.96
DISK I/O
CHN,UNIT SEEKS READS WRITES
0, 6 44 28 73 PS # 1
0, 7 2 7 2 LANG # 0
1, 0
1, 1 48 32 55 PS # 0
1, 2 1 7 PMH # 0
2, 3 PACKAG # 0
2, 4 4 6 MISC # 0
2, 5 1 SNARK # 0
5, 1
0500108/06/79 09:28:2300011.30520000100000000000080199200107
002450188500001000110195802058000180011300204.400000.6500000
.1100000.2300036.5600019.0400000.960006000044000028000073PS
010007000002000007000002LANG 0001000000000000000
00000 000101000048000032000055PS 00010200000
1000007000000PMH 000203000000000000000000PACKAG 000
204000004000006000000MISC 000205000000000001000000SNARK
000501000000000000000000 000000000000000000000
000 000000000000000000000000 0000000000000
00000000000 000000000000000000000000 00000
0000000000000000000 000000000000000000000000
0009
RECORD OUTPUT FOR WATCH Page 14
Item Length Picture Value
1. Record Type 2 99 "05"
2. Record Sequence Number 3 999 "001"
3. Date & Time 17 X(17)
(MM/DD/YY HH:MM:SS)
4. Interval 7 9(5).9
5. Number of Jobs 3 999
6. Dir Cache Hits 6 9(6)
7. Dir Cache Misses - Full 6 9(6)
8. Dir Cache Misses - New Entry 6 9(6)
9. TOTRC 5 9(5)
10. LOKPGS 5 9(5)
11. SHR PGS 5 9(5)
12. AVAIL MEM 5 9(5)
13. NRUN MIN 5 9(5)
14. NRUN MAX 5 9(5)
15. SUMNR MIN 5 9(5)
16. SUMNR MAX 5 9(5)
17. NRPLQ MIN 5 9(5)
18. NRPLQ MAX 5 9(5)
19. SYS MEM DMD 7 9(5).9
20. SWAP RATIO 8 9(5).99
21. ACTIVE SWAP RATIO 8 9(5).99
22. MEM UTILIZATION 8 9(5).99
23. AV WS SIZE 8 9(5).99
24. AV CPU TIME 8 9(5).99
25. THINK TIME 8 9(5).99
26. Disk I/O 510
Max 15 entries; 1 entry 32
a. Channel 2 99
b. Unit 2 99
c. Seeks 6 9(6)
d. Reads 6 9(6)
e. Writes 6 9(6)
f. Name 10 X(10)
g. Number 2 99
27. Number of Disk I/O entries 2 99
---
667
RECORD OUTPUT FOR WATCH Page 15
Tune Mode Record
The Tune Mode Record contains a quick summary of system
information.
77.1 10.0 7.7 44.4 16.6 42.5 2.3 47.7 0 35.4
31.5 11.6 20.1 1.3 1933.3 0 137 0.08 2
0600108/06/79 09:31:1400009.10540077.100010.000007.700044.40
0016.600042.500002.300047.700000.00035.4000.0031.5011.6020.1
001.3000.0000.01933.3000000137000.08002
Item Length Picture Value
1. Record Type 2 99 "06"
2. Record Sequence Number 3 999 "001"
3. Date & Time 17 X(17)
(MM/DD/YY HH:MM:SS)
4. Interval 7 9(5).9
5. Number of Jobs 3 999
6. USED 7 9(4).99
7. SWPW 7 9(4).99
8. SKED 7 9(4).99
9. CTXS 7 9(4).99
10. WAKE 7 9(4).99
11. TDIO 7 9(4).99
12. NRUN 7 9(4).99
13. NWSM 7 9(4).99
14. NLOD 7 9(4).99
15. USED 5 9(3).9
16. GRDY 5 9(3).9
17. BRDY 5 9(3).9
18. SWPR 5 9(3).9
19. DSKR 5 9(3).9
20. DSKW 5 9(3).9
21. RPQW 5 9(3).9
22. OTHR 5 9(3).9
23. IMEM 6 9(4).9
24. NLD 4 9(4)
25. NRSP 5 9(5)
26. RESP 6 9(3).99
27. SR 3 999
---
159
[End of Document]
The following are slides used in a presentation on data
record output by WATCH.
Questions From WATCH
Question #1 Output to file: <filename>
Question #2 Monitor Stats? YES, NO, ALL
Question #3 Job Summary? YES, NO
Question #4 Tune Mode? YES, NO
New Questions
Question #A Would you like to output data records? (Y/N)
YES, NO
Question #B Output file for data records: <filename>
Different Record Types
1. System Stats (System & Queues)
2. Load Averages
3. Expanded Per-Job
4. Normal Per-Job
5. Expanded Stats ( Dir Cache & Sys Util & Disk I/O)
6. Tune Mode
Records Output
From ALL Monitor Stats
1. System Stats
2. Load Averages
3. Expanded Stats
4. Expanded Per-Job (Several Occurences)
From NO Monitor Stats, NO Job Summary, NO Tune Mode
1. Load Averages
From NO Monitor Stats, NO Job Summary, YES for Tune Mode
1. Tune Mode
From NO Monitor Stats, YES for Job Summary
1. Load Averages
2. Normal Per-Job (Several Occurences)
From YES for Monitor Stats, NO Job Summary
1. System Stats
2. Load Averages
From YES Monitor Stats, YES for Job Summary
1. System Stats
2. Load Averages
3. Normal Per-Job (Several Occurences)
Typical File Structure
+----------------------------------------------------------+
|Sample 1 |
| System Stats |
| |
+----------------------------------------------------------+
|Sample 1 |
| Load Averages |
| |
+----------------------------------------------------------+
|Sample 1 |
| Normal Per-Job #1 |
| |
+----------------------------------------------------------+
|Sample 1 |
| Normal Per-Job #2 |
| |
+----------------------------------------------------------+
|Sample 1 |
| Normal Per-Job #3 |
| |
+----------------------------------------------------------+
|Sample 1 . |
| . |
| . |
+----------------------------------------------------------+
|Sample 1 . |
| . |
| . |
+----------------------------------------------------------+
|Sample 2 |
| System Stats |
| |
+----------------------------------------------------------+
|Sample 2 |
| Load Averages |
| |
+----------------------------------------------------------+
|Sample 2 |
| Normal Per-Job #1 |
| |
+----------------------------------------------------------+
|Sample 2 |
| Normal Per-Job #2 |
| |
+----------------------------------------------------------+
|Sample 2 |
| Normal Per-Job #3 |
| |
+----------------------------------------------------------+
|Sample 2 . |
| . |
| . |
+----------------------------------------------------------+
|Sample 2 . |
| . |
| . |
+----------------------------------------------------------+
Expanded Stats Record
Regular WATCH Output
Directory Cache hits: 10
Directory Cache Misses - Cache Full: 0
Directory Cache Misses - New Entry Added: 8
TOTRC: 1992 LOKPGS: 107 SHR PGS: 245 AVAIL MEM: 1885
NRUN MIN,MAX: 1 11
SUMNR MIN,MAX: 1958 2058
NRPLQ MIN,MAX: 18 113
SYS MEM DMD = 204.4
SWAP RATIO (SUM WSS / AV MEM) = 0.65
ACTIVE SWAP RATIO (DMD/AVMEM) = 0.11
MEM UTILIZATION ((UPGS+SHRPGS)/AVMEM) = 0.23
AV WS SIZE = 36.56
AV CPU TIME (MS) PER INTERACTION = 19.04
THINK TIME (SEC) PER INTERACTION = 0.96
DISK I/O
CHN,UNIT SEEKS READS WRITES
0, 6 44 28 73 PS # 1
0, 7 2 7 2 LANG # 0
1, 0
1, 1 48 32 55 PS # 0
1, 2 1 7 PMH # 0
2, 3 PACKAG # 0
2, 4 4 6 MISC # 0
2, 5 1 SNARK # 0
5, 1
New WATCH Output
0500108/06/79 09:28:2300011.30520000100000000000080199200107
002450188500001000110195802058000180011300204.400000.6500000
.1100000.2300036.5600019.0400000.960006000044000028000073PS
010007000002000007000002LANG 0001000000000000000
00000 000101000048000032000055PS 00010200000
1000007000000PMH 000203000000000000000000PACKAG 000
204000004000006000000MISC 000205000000000001000000SNARK
000501000000000000000000 000000000000000000000
000 000000000000000000000000 0000000000000
00000000000 000000000000000000000000 00000
0000000000000000000 000000000000000000000000
0009
Expanded Stats Record
Item Length Picture Value
1. Record Type 2 99 "05"
2. Record Sequence Number 3 999 "001"
3. Date & Time 17 X(17)
(MM/DD/YY HH:MM:SS)
4. Interval 7 9(5).9
5. Number of Jobs 3 999
6. Dir Cache Hits 6 9(6)
7. Dir Cache Misses - Full 6 9(6)
8. Dir Cache Misses - New Entry 6 9(6)
9. TOTRC 5 9(5)
10. LOKPGS 5 9(5)
11. SHR PGS 5 9(5)
12. AVAIL MEM 5 9(5)
13. NRUN MIN 5 9(5)
14. NRUN MAX 5 9(5)
15. SUMNR MIN 5 9(5)
16. SUMNR MAX 5 9(5)
17. NRPLQ MIN 5 9(5)
18. NRPLQ MAX 5 9(5)
19. SYS MEM DMD 7 9(5).9
20. SWAP RATIO 8 9(5).99
21. ACTIVE SWAP RATIO 8 9(5).99
22. MEM UTILIZATION 8 9(5).99
23. AV WS SIZE 8 9(5).99
24. AV CPU TIME 8 9(5).99
25. THINK TIME 8 9(5).99
26. Disk I/O 510
Max 15 entries; 1 entry 32
a. Channel 2 99
b. Unit 2 99
c. Seeks 6 9(6)
d. Reads 6 9(6)
e. Writes 6 9(6)
f. Name 10 X(10)
g. Number 2 99
27. Number of Disk I/O entries 2 99
---
667
Example Fortran Program
C READ THE NEXT RECORD AND DISPATCH TO PROPER ROUTINE
50 READ (20,1010,END=900) RECTYP,RECSEQ,DATM,INTVL,NJOBS,DATA
IF (RECTYP.EQ.ONE) GOTO 100
IF (RECTYP.EQ.TWO) GOTO 200
IF (RECTYP.EQ.THREE) GOTO 300
GOTO 50
C
C
C TRANSFER SYSTEM STATISTICS TO PROPER DATA AREA
100 DO 150 I = 1,33
DSYS (I) = DATA (I)
150 CONTINUE
GOTO 50
C
C
C TRANSFER LOAD AVERAGES TO PROPER DATA AREA
200 DO 250 I = 1,135
DLOAD (I) = DATA (I)
250 CONTINUE
GOTO 50
C
C
C TRANSFER THE FIRST EXPANDED PER JOB RECORD TO THE BUFFER
300 NUMREC = 1
DO 350 I = 1,14
BUFFER (NUMREC,I) = DATA (I)
350 CONTINUE
C
C
C TRANSFER THE REST OF THE EXPANDED PER JOB RECORDS TO THE BUFFER
400 READ (20,1010,END=900) RECTYP,RECSEQ,DATM,INTVL,NJOBS,DATA
IF (RECTYP.NE.THREE) GOTO 500
NUMREC = NUMREC + 1
DO 450 I = 1,14
BUFFER (NUMREC,I) = DATA (I)
450 CONTINUE
GOTO 400
C
C
C TRANSFER THE EXPANDED STATISTICS RECORD TO THE PROPER DATA AREA
500 IF (RECTYP.NE.FIVE) GOTO 800
DO 550 I = 1,64
DEXPS (I) = DATA (I)
550 CONTINUE
C
C
C OUTPUT ALL THE NEW RECORDS FOR THIS "WATCH" SAMPLE
600 DO 650 I = 1,NUMREC
WRITE (21,1011) DATM,INTVL,NJOBS,DSYS,DLOAD,DEXPS,
1 (BUFFER (I,J), J = 1,14)
650 CONTINUE
GOTO 50
Example Cobol Program
PROCEDURE DIVISION.
GET-FILE-NAME.
DISPLAY "Input file: " WITH NO ADVANCING.
ACCEPT INPUT-STRING.
UNSTRING INPUT-STRING DELIMITED BY "." INTO FNAME, FTYPE.
OPEN INPUT IFILE.
DISPLAY "Output file: " WITH NO ADVANCING.
ACCEPT INPUT-STRING.
UNSTRING INPUT-STRING DELIMITED BY "." INTO FNAME, FTYPE.
OPEN OUTPUT OFILE.
READ-NEXT-RECORD.
READ IFILE RECORD
AT END GO TO CLOSE-AND-EXIT.
IF RECTYP IS EQUAL TO 1 MOVE SYS-REC TO SYS-STRIP
MOVE SYS-REC-DATA TO D-SYS-REC.
IF RECTYP IS EQUAL TO 2 MOVE LOAD-REC TO LOAD-STRIP
MOVE LOAD-REC-DATA TO D-LOAD-REC.
IF RECTYP IS EQUAL TO 3 GO TO BUFFER-RECORDS.
GO TO READ-NEXT-RECORD.
BUFFER-RECORDS.
MOVE 1 TO NUMREC.
MOVE EXPJOB-REC TO BUFFER (NUMREC).
CONTINUE-BUFFERING.
READ IFILE RECORD
AT END GO TO CLOSE-AND-EXIT.
IF RECTYP IS NOT EQUAL TO 3 GO TO OUTPUT-BUFFER-RECORDS.
ADD 1 TO NUMREC.
MOVE EXPJOB-REC TO BUFFER (NUMREC).
GO TO CONTINUE-BUFFERING.
OUTPUT-BUFFER-RECORDS.
IF RECTYP IS NOT EQUAL TO 5 DISPLAY "Input file is not consistent !!!"
DISPLAY "Processing aborted."
GO TO CLOSE-AND-EXIT.
MOVE EXPSTS-REC TO EXPSTS-STRIP.
MOVE EXPSTS-REC-DATA TO D-EXPSTS-REC.
PERFORM OUTPUT-SINGLE-RECORD VARYING REC FROM 1 BY 1
UNTIL REC IS GREATER THAN NUMREC.
GO TO READ-NEXT-RECORD.
OUTPUT-SINGLE-RECORD.
MOVE BUFFER (REC) TO EXPJOB-STRIP.
MOVE EXPJOB-REC-DATA TO D-EXPJOB-REC.
WRITE DATA-REC.
CLOSE-AND-EXIT.
CLOSE IFILE.
CLOSE OFILE.
STOP RUN.
Normal Output from All Request
+----------------------------------------------------------+
|Sample 1 |
| System Stats |
| |
+----------------------------------------------------------+
|Sample 1 |
| Load Averages |
| |
+----------------------------------------------------------+
|Sample 1 |
| Expanded Per-Job #1 |
| |
+----------------------------------------------------------+
|Sample 1 |
| Expanded Per-Job #2 |
| |
+----------------------------------------------------------+
|Sample 1 . |
| . |
| . |
+----------------------------------------------------------+
|Sample 1 |
| Expanded Stats |
| |
+----------------------------------------------------------+
|Sample 2 |
| System Stats |
| |
+----------------------------------------------------------+
|Sample 2 |
| Load Averages |
| |
+----------------------------------------------------------+
|Sample 2 |
| Expanded Per-Job #1 |
| |
+----------------------------------------------------------+
|Sample 2 |
| Expanded Per-Job #2 |
| |
+----------------------------------------------------------+
|Sample 2 . |
| . |
| . |
+----------------------------------------------------------+
|Sample 2 |
| Expanded Stats |
| |
+----------------------------------------------------------+
Rearranged Output
+----------------------------------------------------------+
|Sample 1 |
| System Stats |
| Load Averages |
| Expanded Stats |
| Expanded Per-Job #1 |
| |
+----------------------------------------------------------+
|Sample 1 |
| System Stats |
| Load Averages |
| Expanded Stats |
| Expanded Per-Job #2 |
| |
+----------------------------------------------------------+
|Sample 1 . |
| . |
| . |
| . |
| . |
| . |
+----------------------------------------------------------+
|Sample 2 |
| System Stats |
| Load Averages |
| Expanded Stats |
| Expanded Per-Job #1 |
| |
+----------------------------------------------------------+
|Sample 2 |
| System Stats |
| Load Averages |
| Expanded Stats |
| Expanded Per-Job #2 |
| |
+----------------------------------------------------------+
|Sample 2 . |
| . |
| . |
| . |
| . |
| . |
+----------------------------------------------------------+
SCSS Master File Definition
/STY VER
/WOR NONE
/NEW WORK.SCSS
YES
/MAS NONE
/N UNKNOWN
/REC 1
/LEN 159
/VAR USED
/LAB Percent CPU Usage
/LOC 33-39(5)
/TYP CON
/VAL 0 - 9999
/VAR SWPW
/LAB Percent CPU Idle & Processes Waiting Swapping
/LOC 40-46(5)
/TYP CON
/VAL 0 - 9999
/VAR SKED
/LAB Percent Scheduling
/LOC 47-53(5)
/TYP CON
/VAL 0-9999
/VAR NWSM
/LAB Average Number of Working Sets
/LOC 82-88(5)
/TYP CON
/VAL 0-9999
/VAR DSKR
/LAB Disk Reads
/LOC 116-120(4)
/TYP CON
/VAL 0-999
/VAR DSKW
/LAB Disk Writes
/LOC 121-125(4)
/TYP CON
/VAL 0-999
/SAM ALL
/SEL ALL
/SAV YES
/WIL 0
/COM YES
RAW.OUT
MASTER.SCSS
YES
ALL
WORK.SCSS
YES
Simple Analysis
/UNIVARIATE USED SWPW SKED NWSM
/STATISTICS MEAN STDDEV MEDIAN VARIANCE MINIMUM MAXIMUM RANGE
/CELLS ALL
/DISPLAY STATISTICS
USED PERCENT CPU USAGE
MEAN = 35.623
STD DEV = 16.885
MEDIAN = 37.321
VARIANCE = 285.097
MINIMUM = 11.500
MAXIMUM = 63.600
RANGE = 52.100
TOTAL N = 13 MISSING N = 0
SWPW PERCENT CPU IDLE & PROCESSES WAITING SWA
MEAN = 50.769
STD DEV = 21.348
MEDIAN = 46.271
VARIANCE = 455.741
MINIMUM = 15.600
MAXIMUM = 82.200
RANGE = 66.600
TOTAL N = 13 MISSING N = 0
SKED PERCENT SCHEDULING
MEAN = 9.962
STD DEV = 4.943
MEDIAN = 10.692
VARIANCE = 24.438
MINIMUM = 2.700
MAXIMUM = 16.400
RANGE = 13.700
TOTAL N = 13 MISSING N = 0
NWSM AVERAGE NUMBER OF WORKING SETS
MEAN = 7.554
STD DEV = 1.079
MEDIAN = 7.198
VARIANCE = 1.164
MINIMUM = 6.500
MAXIMUM = 10.200
RANGE = 3.700
TOTAL N = 13 MISSING N = 0