HP OpenVMS System Manager's Manual, Volume 2:... |
Managing Page, Swap, and Dump Files |
|
|
| |
Manually Calculating Appropriate Sizes for Dump, Page, and Swap Files
Calculating System Dump File Size ![]()
Sufficient space in the system dump file is critical to saving
a complete crash dump. The AUTOGEN command procedure calculates
an appropriate size for your system dump file. However, if you want
to manually calculate the system dump file size, use the following
formula, which calculates the file size required to hold a physical
dump.
On VAX systems, use the following formula:
size-in-blocks(SYS$SYSTEM:SYSDUMP.DMP) = size-in-pages(physical-memory) + number-of-error-log-buffers * blocks-per-buffer + 1On Alpha and I64 systems, use the following formula:
size-in-blocks(SYS$SYSTEM:SYSDUMP.DMP) = size-in-pages(physical-memory) * blocks-per-page + number-of-error-log-buffers * blocks-per-buffer + 10where:
|
size-in-pages
|
Is the size of physical memory, in pages.
Use the DCL command SHOW MEMORY to determine the total size of physical
memory on your system.
|
|
blocks-per-page
|
Is the number of blocks per page of memory.
On Alpha and I64 systems, calculate the number of blocks per page of memory by dividing the system's page size by 512 (the size of a block). Use the following commands:
|
|
number-of-error-log-buffers
|
Is the value of the system parameter
ERRORLOGBUFFERS. This parameter sets the number of error log buffers
to permanently allocate in memory.
|
|
blocks-per-buffer
|
Is the value of the system parameter
ERLBUFFERPAGES. This parameter sets the number of pagelets (blocks)
of memory in each buffer.
|
A large memory system or a system with small disk capacity might not be able to supply enough disk space for a full memory dump. Under these circumstances, you should set the system parameter DUMPSTYLE to the appropriate value to indicate that the system is to dump only selective information. For more information, see Minimizing System Dump File Size When Disk Space Is Insufficient.
If SYS$SYSTEM:SYSDUMP.DMP does not exist, the system writes crash dumps to the primary page file SYS$SYSTEM:PAGEFILE.SYS. The AUTOGEN command procedure calculates an appropriate size for your page file. However, to manually calculate the minimum page file size required to hold crash dumps, use the following formula:
On VAX systems:
size-in-blocks(SYS$SYSTEM:PAGEFILE.SYS) = size-in-pages(physical-memory) + number-of-error-log-buffers * blocks-per-buffer + 1 + 1000On Alpha and I64 systems:
size-in-blocks(SYS$SYSTEM:PAGEFILE.SYS) = size-in-pages(physical-memory) * blocks-per-page + number-of-error-log-buffers * blocks-per-buffer +10 + value of the system parameter RSRVPAGCNTwhere:
|
size-in-pages
|
Is the size of physical memory, in pages.
Use the DCL command SHOW MEMORY to determine the total size of physical
memory on your system.
|
|
blocks-per-page
|
Is the number of blocks per page of memory.
On Alpha and I64 systems, calculate the number of blocks per page of memory by dividing the system's page size by 512 (the size of a block). Use the following commands:
|
|
number-of-error-log-buffers
|
Is the value of the system parameter
ERRORLOGBUFFERS. This parameter sets the number of error log buffers
to permanently allocate in memory.
|
|
blocks-per-buffer
|
Is the value of the system parameter
ERLBUFFERPAGES. This parameter sets the number of pagelets (blocks)
of memory in each buffer.
|
|
RSRVPAGCNT
|
Is the value of the RSRVPAGCNT special
system parameter.
|
| This formula calculates only the minimum size requirement for saving a dump in the system's primary page file. For most systems, the page file must be larger than this to avoid hanging the system. For more information about calculating the page file size, see Calculating Page File Size. |
Calculating Error Log Dump File Size ![]()
These calculations differ on OpenVMS VAX, Alpha, and I64 systems.
On Alpha and I64 systems, the AUTOGEN command procedure calculates the appropriate size of your error log dump file. However, to calculate the size of the file manually, use the following formula, which calculates the file size required to hold all the error log buffers:
size-in-blocks(SYS$SYSTEM:SYS$ERRLOG.DMP) = number-of-error-log-buffers * blocks-per-buffer + 2where:
|
number-of-error-log-buffers
|
Is the value of the system parameter
ERRORLOGBUFFERS. This parameter sets the number of error log buffers
that are permanently allocated in memory.
|
|
blocks-per-buffer
|
Is the value of the system parameter
ERLBUFFERPAGES. This parameter sets the number of pagelets (blocks)
of memory in each buffer.
|
On VAX systems, the size of the error log dump file depends on your DOSD:
| Both error logs and system memory are written to the SYSDUMP.DMP file on the DOSD disk. See Calculating System Dump File Size for sizing information. |
| In addition, error logs are written to the stub system dump file SYSDUMP.DMP on the system disk. Because this is a fixed-length file of 2048 blocks, no sizing calculations are required. |
Calculating Page File Size ![]()
Sufficient
page file space is critical to system performance. The AUTOGEN command
procedure calculates an appropriate size for your page file space.
The size calculated by AUTOGEN should be sufficient. However, to manually
calculate the size for page file space, use one of the following
formulas.
On VAX systems, use the following formula:
size-in-blocks (total for all page files on the system) = size-of-average-process (in pages) * maximum-number-of-processes
Specify this value in pages.$SHOW PROCESS/CONTINUOUS/ID=pid
If the result of the formula is less than VIRTUALPAGECNT, use the value of VIRTUALPAGECNT instead.
To determine a system's virtual page count, enter the following command:
On Alpha and I64 Systems$WRITE SYS$OUTPUT F$GETSYI ("VIRTUALPAGECNT")
On Alpha and I64 systems, no simple formula can be given because of the wide variation possible in memory size and usage. You can use the following formula for systems up to 512MB:
size-in-blocks (total for all page files on the system) = size-of-average-process (in pages) * blocks-per-page * maximum-number-of-processes
Specify this value in pages.$SHOW PROCESS/CONTINUOUS/ID=pid
$WRITE SYS$OUTPUT F$GETSYI ("PAGE_SIZE")
For systems over 512MB, follow the steps described below for monitoring page file usage ( Monitoring Page File Usage), and make adjustments as necessary.
Representing Page File Size ![]()
The page file size you calculate can be represented in one
of the following ways:
Monitoring Page File Usage ![]()
Once you determine an initial size for your page file or files
(either with AUTOGEN or manually), monitor page file usage by executing
AUTOGEN with the following command:
With this command, AUTOGEN writes page file usage and size recommendations to the feedback report AGEN$PARAMS.REPORT. (For more information about AUTOGEN and the feedback report, see Understanding the AUTOGEN Command Procedure and Feedback Report (AGEN$PARAMS.REPORT).) The DCL command SHOW MEMORY/FILES also displays file usage, as explained in Displaying Information About Page and Swap Files.$@SYS$UPDATE:AUTOGEN SAVPARAMS TESTFILES FEEDBACK
Keep page file usage less than half the size of the page file or files. If a paging file starts to fill to the point where system performance is being affected, a message is printed on the console terminal. If this happens, increase the size of your page file or files or install additional files.
| Your system resources and work load affect the required size of your page file. You should be familiar with your system resources and work load. For more information, refer to OpenVMS Performance Management . |
Limiting Page File Space ![]()
Limit the amount of page file space consumed by user programs
by using the /PGFLQUOTA qualifier of the AUTHORIZE commands ADD
and MODIFY. (Refer to the AUTHORIZE section in the HP OpenVMS System Management Utilities Reference Manual: A--L
for
more information.) Do not reduce the value of /PGFLQUOTA below 1024.
Size requirements of the page file vary widely, depending on user
applications.
Calculating Swap File Size ![]()
Sufficient
swap file space is critical to system performance. The AUTOGEN command
procedure calculates an appropriate size for your swap file space.
To manually calculate the size for swap file space, use the following formula:
size-in-blocks (total for all swap files on the system) = maximum-number-of-processes * average-working-set-quota-of-processes-on-systemwhere:
|
maximum-number-of-processes
|
Is the value of the MAXPROCESSCNT system
parameter.
|
|
average-working-set-quota-of-processes-on-system
|
Is the average value of the WSQUOTA limit for
processes running on the system.
On VAX systems, specify the value in pages. On Alpha and I64 systems, specify the value in pagelets. |
Representing Swap File Size ![]()
The size you calculate can be represented in any of the following
ways:
Monitoring
Swap File Usage ![]()
Once you have determined an appropriate size for swap file
space (either manually or with AUTOGEN), monitor swap file usage
with the DCL command SHOW MEMORY/FILES as explained in
Displaying Information About Page and Swap Files. Keep at least one-third
of the swap file space unused; otherwise, system performance can
be severely affected.
| Your system resources and work load affect the required size of your swap file. You should be familiar with your system resources and work load. For more information, refer to OpenVMS Performance Management . |
|
|