Document revision date: 15 July 2002 | |
![]() |
![]() ![]() ![]() ![]() |
![]() |
Previous | Contents | Index |
You can restrict and expand the amount of time a job is allowed in the CPU by setting CPU limit values.
Do not set CPU time limit values too low. When a job's CPU time limit is exceeded, the job is terminated with an error status. If working set values (explained in Section 14.6.4.3) are set too low, the system might use memory less efficiently but the jobs can still complete normally. However, if CPU time limit values are set too low, the system might terminate jobs that are making legitimate and authorized use of the CPU.
For example, you might use a CPU time limit on a batch queue devoted to execution of newly coded software that could unexpectedly enter a CPU loop. The CPU time limit would terminate infinitely looping jobs so they do not waste the CPU resource. However, you must be careful to choose a sufficiently high time limit so normally executing jobs do not terminate prematurely.
Another way to control allocation of the CPU resource is to create a
special-purpose batch queue that shifts execution of its jobs to a less
busy time of day when CPU time is more available.
14.6.4.5 Swapping
Typically, swapping is enabled on batch queues. However, for a special-purpose, high-priority queue, you might disable swapping. This provides a favorable status to jobs in this queue by removing them from consideration when memory must be reclaimed from processes (through the operating system's swapping and trimming mechanism).
For more information, refer to the OpenVMS Performance Management.
14.6.4.6 Options for Memory-Constrained Systems
On memory-constrained systems, total the pages required for the batch working sets on all batch queues. Also make sure that enough fluid memory remains for interactive jobs.
Fluid memory can be reassigned from one process to another through
swapping and paging. (You can calculate fluid memory as the space that
remains when you subtract the number of pages permanently allocated to
the operating system from the total memory. To obtain these values,
enter SHOW MEMORY.)
14.6.4.7 Optimizing Batch Queues for the Sort/Merge Utility
You can improve the efficiency of the OpenVMS Sort/Merge utility (SORT/MERGE) by designating one batch queue for sorting jobs and giving this queue a very large working set quota.
You can also set process quotas for greatest SORT efficiency. The values recommended here are based solely on SORT considerations; you should integrate other system considerations with these to determine appropriate values.
System managers can assign batch queues to specific resource affinity domains (RADs) in a NUMA environment. (See the OpenVMS Alpha Partitioning and Galaxy Guide for more information about RADs.)
The RAD value is a positive integer between 0 and SYI$_RAD_MAX_RADS. The SHOW/QUEUE/FULL command displays the RAD in its output.
This section describes a sequence of the commands and their effects on a batch queue. A SHOW command is included in each example to illustrate the batch queue modifications.
$ INITIALIZE/QUEUE/ON=QUEBID::/BATCH/RAD=0 BATCHQ1 $ SHOW QUEUE/FULL BATCHQ1 Batch queue BATCHQ1, stopped, QUEBID:: /BASE_PRIORITY=4 /JOB_LIMIT=1 /OWNER=[SYSTEM] /PROTECTION=(S:M,O:D,G:R,W:S) /RAD=0 |
$ START/QUEUE/RAD=1 BATCHQ1 $ SHOW QUEUE/FULL BATCHQ1 Batch queue BATCHQ1, idle, on QUEBID:: /BASE_PRIORITY=4 /JOB_LIMIT=3 /OWNER=[SYSTEM] /PROTECTION=(S:M,O:D,G:R,W:S) /RAD=1 |
$ SET/QUEUE/RAD=0 BATCHQ1 $ SHOW QUEUE/FULL BATCHQ1 Batch queue BATCHQ1, idle, on QUEBID:: /BASE_PRIORITY=4 /JOB_LIMIT=3 /OWNER=[SYSTEM] /PROTECTION=(S:M,O:D,G:R,W:S) /RAD=0 |
$ SET/QUEUE/NORAD BATCHQ1 $ SHOW QUEUE/FULL BATCHQ1 Batch queue BATCHQ1, idle, on QUEBID:: /BASE_PRIORITY=4 /JOB_LIMIT=3 /OWNER=[SYSTEM] /PROTECTION=(S:M,O:D,G:R,W:S) |
When you change the RAD value on a batch queue, the jobs currently in
the batch queue are not dynamically updated with the new RAD value
specified on the queue. Any executing jobs complete processing using
the original RAD value. Jobs in the pending, holding, or timed
execution states retain the old RAD value on the job; however, when
such a job becomes executable, the job is updated with the new RAD
value and runs on the RAD specified on the queue.
14.6.5 Specifying Job Scheduling Options
The queue manager uses the following criteria to determine the scheduling order for batch and print jobs that are eligible for processing:
To specify job scheduling options, follow these steps:
Commands for Job Scheduling Options
Use the following commands to specify job scheduling options:
Command | Description |
---|---|
INITIALIZE/QUEUE/SCHEDULE=[NO]SIZE
START/QUEUE/SCHEDULE=[NO]SIZE SET QUEUE/SCHEDULE=[NO]SIZE |
Specifies whether pending jobs in an output execution queue are scheduled for printing based on the size of the job. (Shorter jobs print before longer ones.) |
INITIALIZE/QUEUE/[NO]BLOCK_LIMIT=([lowlim,]uplim)
START/QUEUE/[NO]BLOCK_LIMIT=([lowlim,]uplim) SET QUEUE/[NO]BLOCK_LIMIT=([lowlim,]uplim) |
Limits the size of print jobs that can be processed on an output execution queue. |
PRINT/PRIORITY=n
SUBMIT/PRIORITY=n SET ENTRY/PRIORITY=n |
Specifies the job scheduling priority of the print job. The value of n can be from 0 through 255, where 0 is the lowest priority and 255 is the highest. |
The sections explain how to set job printing priorities and sizes.
How to Prioritize Jobs by Size
To prioritize jobs based on their sizes, use the /SCHEDULE=SIZE qualifier with INITIALIZE/QUEUE, START/QUEUE, or SET QUEUE. (The /SCHEDULE=NOSIZE qualifier prints jobs in the order they were submitted, regardless of size.)
In the following example, /SCHEDULE=SIZE (the default), causes short jobs to print before longer ones on the print queue LPA0_PRINT:
$ INITIALIZE/QUEUE/SCHEDULE=SIZE LPA0_PRINT |
If you enter this command while pending jobs are in any queue, its effect on future jobs is unpredictable.
To limit the size of print jobs, use the /BLOCK_LIMIT qualifier with INITIALIZE/QUEUE, START/QUEUE, or SET QUEUE. By default, printer and terminal queues are created with no block limit, so jobs of any size will be printed. You can specify only an upper limit or both upper and lower limits.
In the following example, LPB0_PRINT has a block size limit of 50, indicating that this queue is reserved for jobs smaller than 51 blocks.
$ INITIALIZE/QUEUE/BLOCK_LIMIT=50 LPB0_PRINT |
You might also want to limit the size of jobs during certain hours of
the day. You can submit a batch job that runs a command procedure to
set a maximum block limit of 500 blocks for a queue at 8:00 a.m. The
command procedure might resubmit itself and remove the block limit
after 5:00 p.m. each day. This lets users print jobs of any size after
normal work hours, when the printing work load is lighter. Users can
specify the /AFTER qualifier with the PRINT command to specify that a
job is to be printed after a specific time.
14.6.5.2 Changing the Scheduling Priority of a Job
If a batch or print job cannot be processed, it is placed in a pending state and is not processed until the cause of the pending state is resolved. For more information, see Section 14.8.2.
To change the scheduling priority of a job, use the /PRIORITY qualifier with SET ENTRY in the following format:
SET ENTRY/PRIORITY=n entry-number |
The following example changes the scheduling priority of a job to 50:
$ SET ENTRY/PRIORITY=50 1131 |
Do not confuse the job scheduling priority with the base process
priority on a queue. The job scheduling priority value must be in a
range of 0 through 255, where 0 is the lowest priority and 255 is the
highest. The default value for /PRIORITY, which refers to the job
scheduling priority, is the value of the system parameter DEFQUEPRI
(usually set at 100).
14.6.6 Using Banner Pages
Banner pages are specially formatted pages that you can set up for queues, to help identify and separate output jobs when they exit a printer. Banner pages also help identify and separate files within jobs.
Two types of banner pages are:
Most sites use only a subset of the available banner pages at any given time. The following table describes the types of banner pages you can use:
Type | Description | For More Information |
---|---|---|
Job Pages | ||
Flag page | A single page printed before each job. | Figure 14-11 |
Burst page | Two flag pages, divided by a separation (burst) bar, printed before each job. | Figure 14-11 |
Trailer page | A page printed after each job. | Figure 14-13 |
File Pages | ||
Flag page | A single page printed before each file in a job. | Figure 14-12 |
Burst page | Two flag pages, divided by a separation (burst) bar, printed before each file in a job. | Figure 14-12 |
Trailer page | A page printed after each file in a job. | Figure 14-13 |
If you do not need to burst pages of a printer's output---for example, if your printer uses cut sheet paper---avoid the burst page option. Flag pages, or flag and trailer pages, are usually sufficient for identifying the end of a job. |
Table 14-2 describes the information found on job flag pages, file flag pages, job trailer pages, and file trailer pages.
Item | Description |
---|---|
Header bar |
A segmented bar composed of:
For a job flag page: A single-segment bar composed of:
For a file flag page: A three-segment bar composed of:
For a job trailer page: A three-segment bar composed of:
For a file trailer page: A five-segment bar composed of the following elements:
|
Note | A user-specified string of up to 255 characters using the PRINT/NOTE command. |
Identification banner | Includes the user name of the process submitting the job, the job name, and the job number. |
Qualifier phrase (file trailer page only) | Indicates the print, queue, and form qualifiers active when the job was submitted; nonactive qualifiers (except /NORECORD_BLOCKING and /NOFEED) are not included. |
File sentence (file flag and file trailer pages only) |
Indicates the following information:
|
Receipt box (job trailer page only) | Contains the following signoff fields: Received:, Date:, and Operator:. |
Job sentence |
Indicates the following information:
|
Footer bar |
A segmented bar composed of:
For a job flag page: Identical to the job flag header bar except the definition of the system logical name (PSM$ANNOUNCE) is not used as the embedded string. The default text is always used as the embedded string. For a file flag page: Identical to the file flag header bar except that the embedded text string is "Compaq Computer Corporation" followed by the operating system version number. For a job trailer page: Identical to the job flag header bar except the definition of the system logical name (PSM$ANNOUNCE) is not used as the embedded string. For a file trailer page: Identical to the file flag header bar except that the embedded text string is "Compaq Computer Corporation" followed by the operating system version number. |
Ruler (file trailer and job trailer pages only) | A sequence of numbers counting to the end of the form. |
Figure 14-11 shows job flag and burst pages. Figure 14-12 shows file flag and burst pages. Figure 14-13 shows file trailer and job trailer pages.
Figure 14-11 Job Flag and Burst Pages
Figure 14-12 File Flag and Burst Pages
Figure 14-13 File and Job Trailer Pages
Widths greater than 40 characters and less than 200 characters and lengths of any size greater than 40 characters are supported for file and job banner pages. Pages requested for widths greater than 200 characters are formatted and printed at 200-character widths. Lengths less than 40 characters are extended by that form length until the 40-character threshold is exceeded. Margins are not taken into account when formatting banner pages.
All banner pages format information to the width and length of the default form size of 80 characters by 51 lines. Therefore, information might be truncated, depending on the form sizes you specify. See Section 14.6.7.8 for information about controlling line and page overflow. |
Commands for Specifying Banner Pages
Use the following commands when working with banner pages:
Previous | Next | Contents | Index |
![]() ![]() ![]() ![]() |
privacy and legal statement | ||
6017PRO_062.HTML |