Compaq COBOL AAQ2G1FTK User Manual

Page 34

Advertising
background image

Developing Compaq COBOL Programs
1.1 Compaq COBOL and Alpha Architecture System Resources

COPY files referenced). Alternatively, multiply 25 times the number of lines in
the program (including all COPY files).

The resulting figure can then be used as a starting point for the system
generation parameter VIRTUALPAGECNT. Put that figure in the parameter
file SYS$SYSTEM:MODPARAMS.DAT. For example, if you estimate 370,000
pages, add the line following line in MODPARAMS, run AUTOGEN and reboot:

MIN_VIRTUALPAGECNT = 400000

If the compilation now completes successfully, use the command $SHOW
PROCESS/ACCOUNTING to determine the Peak Virtual Size; if the actual
peak is significantly less than the value computed above, you can reduce
VIRTUALPAGECNT.

When modifying VIRTUALPAGECNT and PGFLQUOTA, you may also need to
increase the size of the page file.

1.1.2.2 Optimizing Physical Memory Usage

In any evaluation of your system’s physical memory, two of the questions to
consider are:

Is there enough memory on the system?
Is enough available to the process running the compilation?

More specifically:

If the physical memory on the system is too small, the command
$LOGOUT/FULL (which is automatically issued at the end of a batch job)
will show a high number of faults (>100,000 for a single compilation) and an
elapsed time value that greatly exceeds the Charged CPU time value, as the
system waits for disk I/Os to resolve page faults. In this situation, tuning
attempts may be of limited benefit.

If the physical memory on the system is adequate, but the physical memory
allotted to the process running the compilation is too small, you may still
observe a large number of faults, but elapsed time may remain closer to CPU
time. This is because OpenVMS Alpha resolves page faults from the page
caches (free list, modified list) whenever possible, avoiding the relatively slow
disk I/Os. In this situation, basic tuning may also be beneficial.

The amount of physical memory required will vary, but it should be a large
percentage of the process peak virtual size—as close to 100% as practical.
The reason is that the compiler makes multiple passes over the internal
representation of the program. A page that falls out of the working set in one
pass is probably going to be needed again on the very next pass.

The physical memory present on the system can be determined by the DCL
command $SHOW MEMORY/PHYSICAL. The physical memory used by the
compilation is reported as ‘‘Peak working set size’’ by the command SHOW
PROCESS/ACCOUNTING or at the end of a batch log file.

More physical memory can be made available to a process by minimizing the
number of competing processes on the system (for example, by compiling one
module at a time or by scheduling large compiles for off-peak time periods; late at
night is a good time in some situations).

1–4 Developing Compaq COBOL Programs

Advertising