<<< VAXAXP::NOTES$:[NOTES$LIBRARY]VMSNOTES.NOTE;1 >>> -< VAX and Alpha VMS - Digital Internal Use Only >- ================================================================================ Note 30.6 INVRECSIZ & INVRECTYP 6 of 6 GIDDAY::GILLINGS "a crucible of informative mistak" 179 lines 13-JAN-1997 18:20 -< 1+ >- -------------------------------------------------------------------------------- Even better, make sure all the quotas for the account are set according to recommendations for BACKUP: [OpenVMS] Setting Up Parameters For The VMS BACKUP Operation (V5.2 Or Later) COPYRIGHT (c) 1988, 1993 by Digital Equipment Corporation. ALL RIGHTS RESERVED. No distribution except as provided under contract. Copyright (c) Digital Equipment Corporation 1991, 1996. All rights reserved. PRODUCT: OpenVMS VAX Versions 5.2 through 7.0 OpenVMS AXP Versions 1.0 through 7.0 COMPONENT: BACKUP Utility SOURCE: Digital Equipment Corporation OVERVIEW: For maximum performance during BACKUP save operations, random blocks from a disk must be copied to a saveset in file order with the least amount of disk head movement. Ideally, BACKUP would read the whole disk sequentially, sort the blocks by file order and then sequentially write them to the saveset. In order to do this, BACKUP would need a working set size larger than the disk size. Since this is not possible, BACKUP uses as many working set pages as it is allowed to (based on the UAF (User Authorization File) parameter WSQUOTA). This article discusses the SYSGEN parameters and process quotas and limits that can be adjusted to improve BACKUP's performance. Related information can be found in the following manuals: Section 2.8 of the "VMS Version 5.2 New Features Manual", (AA-LA97B-TE), June 1989 Appendix B of the "VMS Version 5.4 New Features Manual", (AA-LA97C-TE), June 1990 "VAXcluster Systems Quorum" (EA-P1128-32), February 1991 Section 10.7 of the "OpenVMS System Manager's Manual", (AA-PV5MB-TK), March 1994 WARNING: Since maximizing BACKUP performance includes setting abnormally high process quotas, Digital recommends using an account dedicated to BACKUP processing. Use of these quotas during normal timesharing may adversely effect other processes. DISCUSSION: The process quotas and limits that affect BACKUP performance the most are: * WSQUOTA - amount of buffer space available * FILLM - number of files processed concurrently * DIOLM - number of file I/Os processed concurrently The SYSGEN parameter WSMAX controls the maximum value allowed for the WSQUOTA UAF parameter which, in turn, controls the number of buffers BACKUP is allowed to use. The number of input buffers BACKUP uses is WSQUOTA divided by any BLOCK_SIZE specified on the BACKUP command line (or the default BLOCK_SIZE if none is specified). To determine how many buffers BACKUP uses, issue a BACKUP/LIST command against an existing saveset. Note the "Buffer count" field in the saveset header information. Ideally, WSMAX and WSQUOTA should be set to the number of free pages on a system just before the BACKUP operation is initiated. The DCL command SHOW MEMORY can be used to determine how many physical pages are free. If other processes will be running during the BACKUP operation, you may want to consider a lower value. NOTE: The default BLOCK_SIZE is 8192 bytes for tape savesets and 32256 bytes for disk. The SYSGEN parameter CHANNELCNT limits the maximum number of files that a process can have open simultaneously. For maximum BACKUP performance, CHANNELCNT should be set to the maximum value allowed. NOTE: Since CHANNELCNT is a system-wide parameter, increasing its value will increase memory used by all processes. CHANNELCNT determines the number of channel control blocks available to the process. The size of a channel control block is 16 bytes on an OpenVMS VAX system and 32 bytes on an OpenVMS AXP system. DIGITAL recommends the following guidelines when setting parameters and process quotas in order to maximize BACKUP's performance: 1. Set the process quotas WSQUOTA and WSEXTENT equal to the SYSGEN parameter WSMAX. If WSQUOTA must be reduced because system load requires it, leave WSEXTENT equal to WSMAX. 2. Set the process quota PGFLQUOTA equal to the SYSGEN parameter VIRTUALPAGECNT. Be sure that both are at least 3000 units above the WSQUOTA to be used. If PGFLQUOTA or VIRTUALPAGECNT are too low, the following error can occur: %BACKUP-F-ALLOCMEM, error allocating virtual memory -LIB-F-INSVIRMEM, insufficient virtual memory 3. Set the process limit FILLM equal to the SYSGEN parameter (CHANNELCNT - 15), but never higher. If FILLM is set higher than this, the following type of messages can occur: %BACKUP-?-NOMSG, message number This error occurs because there is no channel available to access the SYSMGTMSG message file. A FILLM that is too large can also cause a BACKUP message that is accompanied by: -RMS-F-CHN, assign channel system service failed -SYSTEM-F-NOIOCHAN, no I/O channel available 4. Set the process limit DIOLM to its maximum value of 32767 to allow as many parallel disk I/Os as possible. The minimum value for DIOLM should be the larger of (3*FILLM) or 4096. 5. Set the process limit ASTLM to DIOLM + 10 or larger, but never lower. If ASTLM is set too low, BACKUP will be forced into unnecessary WAIT states, thus increasing the elapsed time of the BACKUP operation. Also if ASTLM is lower than DIOLM + 10 in very rare circumstances the created BACKUP save set might have missing blocks and/or a BACKUP batch job logfile might have missing records. 6. BYTLM should be set to the amount of space available in nonpaged dynamic memory before the BACKUP job is initiated. Use the SHOW MEMORY/FULL DCL command and note the "Free Space" to determine the space available in nonpaged dynamic memory. If BYTLM is too low the following error message will be returned: %BACKUP-F-NOMSG, Message number 00A386E4 -SYSTEM-F-EXQUOTA, exceeded quota If BYTLM is already set to the amount of space available in nonpaged dynamic pool and the error still appears then decrease FILLM step by step. The minimum value for BYTLM should be greater than (256*FILLM) + (6*DIOLM). On systems running versions previous to OpenVMS VAX V6.0 and OpenVMS AXP V1.5, BACKUP may use all of the available SRPs, IRPs and nonpaged dynamic memory. The DCL command SHOW MEMORY can be used to determine if this is happening. The SYSGEN parameters SRPCOUNTV, IRPCOUNTV and NPAGEVIR can be increased if necessary. 7. Set the process limit BIOLM equal to the value of FILLM. 8. Set the process limit ENQLM greater than FILLM. For troubleshooting Backup performance issues, use the following tips: 1. If the BACKUP process consumes too much physical memory, reduce WSQUOTA using the AUTHORIZE Utility or the DCL command SET WORKING_SET. Use the SHOW PROCESS/CONTINUOUS command from another terminal to determine if BACKUP is using too much memory. 2. If BACKUP tries to open too many files simultaneously, reduce FILLM. To approximate pre-VMS V5.2 BACKUP performance, set FILLM to 15. 3. If BACKUP overloads the I/O capacity of the disk being saved, reduce DIOLM. To approximate pre-VMS V5.2 BACKUP performance, set DIOLM to five. Use the MONITOR DISK command to determine the I/O load on a disk drive. 4. If BACKUP uses all the nonpaged dynamic memory, reduce BYTLM noting the dependencies with FILLM mentioned above. The SHOW MEMORY/POOL DCL command can be used to determine if BACKUP is using all the nonpaged dynamic memory. NOTE: The aforementioned process quotas and limits can be modified using the Authorize Utility. Any modifications to a UAF record will not take effect until the process is logged out and back in. WSQUOTA and WSEXTENT can be changed immediately with the DCL command SET WORKING_SET.