A working set is a set of memory pages that a process is allowed to use. It resides in the primary page cache.
Working Set Limits
Working set limits are established from SYSUAF:
- WSDEFAULT (working set default) is the number of pages allocated to a starting process
- WSEXTENT (working set extent) is the number of pages that a working set can grow to if this memory is available and it may borrow more pages.
- WSQUOTA (working set quota) is the number of pages guaranteed to an active process
When an interactive job runs, the values in effect might have been lowered or raised either by the corresponding qualifiers on the last SET WORKING_SET command to affect them, or by the system service $ADJWSL. However, they may not be set lower than the following system parameters:
Subprocesses and detached processes derive their working set characteristics from one of the following:
- $CREPRC system service
- CL command RUN
If characteristics are not specified by either of the above, then the values of the corresponding process quota and creation limit (PQL) system parameters are used:
When a batch queue is created, the DCL command INITIALIZE/QUEUE establishes the default values for jobs with the /WSDEFAULT, /WSQUOTA, and /WSEXTENT qualifiers. However, you can set these qualifiers to defer to the user’s values in the UAF record. When a batch job runs, the values may have been lowered by the corresponding qualifiers on the DCL commands SUBMIT or SET QUEUE/ENTRY
The following guidelines are suggested by the OpenVMS Performance Management Manual] for initial working set characteristics:
- Set WSMAX at the highest number of pages required by any program.
- In the user record, set WSDEFAULT at the median number of pages required by a program that the user will run interactively. Set WSQUOTA at the largest number of pages required by a program that the user will run interactively. Set WSEXTENT at the largest number of pages you anticipate the process will need. Be as realistic as possible in your estimate.
- On the batch queues for user-submitted jobs, set WSDEFAULT at the median number of pages required. Memory Management Concepts 3–5 Memory Management Concepts 3.4 Initial Working Set Quotas and Limits Set WSQUOTA to the number of pages that will allow the jobs to complete within a reasonable amount of time. Set WSEXTENT (using the DCL command INITIALIZE/QUEUE or START/QUEUE) to the largest number of pages required. This arrangement effectively forces users to submit large jobs for batch processing because otherwise, the jobs will not run efficiently. To further restrict the user who attempts to run a large job interactively, you can impose CPU time limits in the UAF.