Document revision date: 15 July 2002 | |
Previous | Contents | Index |
The operating system uses the latest version of SYS$SYSTEM:SYSDUMP.DMP to store system crash dumps. If SYSDUMP.DMP does not exist in SYS$SYSTEM, the operating system uses the system page file, SYS$SYSTEM:PAGEFILE.SYS, overwriting the contents of that file.
If the SAVEDUMP system parameter is set, the crash dump is retained in PAGEFILE.SYS when the system is booted. If SAVEDUMP is clear, the system uses the page file for paging; any dump written to the page file is lost.
If you use SYS$SYSTEM:PAGEFILE.SYS to capture system crash dumps, you should later free the space occupied by the dump for use in system paging, with either of the following methods:
For detailed instructions, see Section 16.13.
Include the appropriate commands in the SYSTARTUP_VMS.COM startup command procedure to free dump information from the page file each time the system reboots.
Be careful when using the page file for selective dumps. Selective dumps use up all available space. If your page file is small, selective dump information might fill the entire page file, leaving no space for paging during system boot. This can cause the system to hang during reboot. |
The two types of system dumps are physical and selective. Table 16-1 defines physical and selective system dumps. Table 16-3 compares the information available in physical and selective system dump files.
Type | Description |
---|---|
Physical dump | Writes the entire contents of physical memory to the system dump file. To ensure a useful physical dump, the system dump file must be large enough to contain all of physical memory. |
Selective dump | Stores those portions of memory most likely to be useful in crash dump analysis. A selective system dump is useful when disk space is not available to hold all of physical memory. |
Requirements for Creating a Useful System Dump
The following requirements must be met for the operating system to write a useful system dump file:
A system dump file has the NOBACKUP attribute; therefore, the Backup utility (BACKUP) does not copy the file unless you use the qualifier /IGNORE=NOBACKUP when invoking BACKUP. When you use the SDA COPY command to copy the system dump file to another file, the operating system does not automatically set the new file to NOBACKUP. If you want to set the NOBACKUP attribute on the copy, use the SET FILE command with the /NOBACKUP qualifier as described in the OpenVMS DCL Dictionary.
By default, SYS$SYSTEM:SYSDUMP.DMP is protected against world access.
Because a system dump file can contain privileged information, you
should keep this level of protection on system dump files. Similarly,
when you copy system dump files using the System Dump Analyzer utility
(SDA) as explained in Section 16.11 and Section 16.13, be sure to
protect the copy from world read access. For more information about
file protection, refer to the OpenVMS Guide to System Security.
16.2 Understanding Page and Swap Files
As part of memory management, the operating system makes efficient use of physical memory by moving information between physical memory and files stored on disk. The system does this in two ways: paging and swapping. Table 16-2 defines these and related terms.
Term | Definition |
---|---|
Paging | A memory management operation that provides the efficient use of physical memory allotted to a process. Paging moves infrequently used portions of a process workspace out of physical memory to a file. For more information about paging, refer to the OpenVMS Performance Management manual. |
Page file | The file to which the system writes paged portions of memory. The OpenVMS installation process creates a page file named SYS$SYSTEM:PAGEFILE.SYS. If necessary, you can use SYS$SYSTEM:PAGEFILE.SYS in place of the system crash dump file. For more information, see Section 16.1.1. |
Swapping | A memory management operation that provides the efficient use of physical memory available for the entire system. Swapping moves the entire workspace of a less active process out of physical memory to a file. For more information about swapping, refer to the OpenVMS Performance Management manual. |
Swap file | The file to which the system writes swapped portions of memory. The OpenVMS installation procedure creates a swap file named SYS$SYSTEM:SWAPFILE.SYS. |
Primary page and swap files | The default page and swap files created during OpenVMS installation. These files are named SYS$SYSTEM:PAGEFILE.SYS and SYS$SYSTEM:SWAPFILE.SYS. |
Secondary page and swap files | Additional page and swap files that you might create for performance or disk space reasons. If you kept the primary page and swap file on the system disk, the system uses the space in the secondary files for paging and swapping in addition to the space in the primary page and swap files. For information about creating secondary page and swap files, see Section 16.16. |
Page and swap files must be installed before the system can use them. The system automatically installs the latest versions of SYS$SYSTEM:PAGEFILE.SYS and SWAPFILE.SYS during startup. If you create secondary page and swap files, you must make sure the system installs them during startup. For more information about installing page and swap files, see Section 16.14.
AUTOGEN automatically determines appropriate sizes for the files for your hardware configuration and system parameters. For special configurations or varying work loads, you might want to change the size of the page or swap file. For information, see Section 16.16.1.
If your system does not require the page file for storing system crash
dumps, you can move it off the system disk. However, you should keep
one page file on the system disk, if possible, so that you can boot the
system if another disk holding the page files becomes unavailable. The
swap file can also be moved off the system disk.
16.3 Displaying Information About Page and Swap Files
The DCL command SHOW MEMORY/FILES displays information about the page and swap files existing on your system, including file names, sizes, and the amount of space used. For example:
$ SHOW MEMORY/FILES System Memory Resources on 19-JAN-2001 13:35:26.58 Swap File Usage (8KB pages): Index Free Size DISK$PAGE_DUMPS:[SYS0.SYSEXE]SWAPFILE.SYS;2 1 7992 8248 Paging File Usage (8KB pages): Index Free Size DISK$PAGE_DUMPS:[SYS0.SYSEXE]PAGEFILE.SYS;1 254 13722 16496 Total committed paging file usage: 4870 |
The total committed paging file usage is the number of pages in the
system that require pagefile space for paging. It can be bigger than
the total number of pagefile pages that are available because it is
unlikely that all the required space will be used for paging at one
time.
16.4 Manually Calculating Appropriate Sizes for Dump, Page, and Swap Files
When you install or upgrade the operating system, AUTOGEN automatically
calculates appropriate sizes for your system; these sizes are based on
your hardware configuration and your system parameters. However, you
can manually calculate the sizes for these files. The following
sections describe how to determine appropriate sizes for the system
page, swap, and dump files.
16.4.1 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 + 1 |
On Alpha 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 + 10 |
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 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 Section 16.5.
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 + 1000 |
On Alpha 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 RSRVPAGCNT |
where:
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 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 Section 16.4.3. |
These calculations differ on OpenVMS VAX and Alpha systems:
On Alpha 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 + 2 |
where:
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:
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 |
$ 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:
$ WRITE SYS$OUTPUT F$GETSYI ("VIRTUALPAGECNT") |
On Alpha 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 |
$ 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 ( Section 16.4.3.2), and make adjustments as necessary.
16.4.3.1 Representing Page File Size
The page file size you calculate can be represented in one of the following ways:
Previous | Next | Contents | Index |
privacy and legal statement | ||
6017PRO_072.HTML |