Document revision date: 19 July 1999
[Compaq] [Go to the documentation home page] [How to order documentation] [Help on this site] [How to contact us]
[OpenVMS documentation]

OpenVMS System Manager's Manual


Previous Contents Index

13.6.3.2 Displaying Characteristics Defined on a System

To see the characteristics defined on a system, enter SHOW QUEUE/CHARACTERISTICS.

Example


$ SHOW QUEUE/CHARACTERISTICS
Characteristic name                  Number 
-------------------                  ------ 
EAST                                      1 
WEST                                      2 
NORTH                                     3 
SOUTH                                     4 

13.6.3.3 Assigning Characteristics to a Queue

No characteristics are assigned to a queue by default. To assign characteristics to a queue, include the /CHARACTERISTICS qualifier with INITIALIZE/QUEUE, START/QUEUE, or SET QUEUE.

Example


$ SET QUEUE/CHARACTERISTICS=(EAST) LN03_1

13.6.3.4 Displaying Characteristics Assigned to a Queue

To determine the characteristics defined for a queue, enter SHOW QUEUE/FULL.

Example


$ SHOW QUEUE/FULL LN03_1
Printer queue LN03_1, idle, on HERA::TTA3, mounted form DEFAULT 
  <Printer queue on node HERA for an LN03 printer> 
  /BASE_PRIORITY=4 /CHAR=(1) /DEFAULT=(FLAG=ONE,FORM=LN03$PORTRAIT 
  (stock=DEFAULT)) /LIBRARY=LN03LIBRARY Lowercase 
 /OWNER=[SYSTEM] /PROCESSOR=LATSYM /PROTECTION=(S:M,O:D,G:R,W:R) 
 /SEPARATE=(RESET=(ANSI$RESET)) 

13.6.3.5 Canceling Characteristics Assigned to a Queue

To cancel characteristics assigned to a queue, specify the /NOCHARACTERISTICS qualifier with INITIALIZE/QUEUE, START/QUEUE, or SET QUEUE.

13.6.3.6 Deleting Characteristics

To delete a characteristic definition, enter DELETE/CHARACTERISTIC. You must specify the characteristic-name with DELETE/CHARACTERISTIC.

If you know the number assigned to the characteristic but do not know the name, enter SHOW QUEUE/CHARACTERISTICS to display the names and numbers assigned to characteristics on the system.

If the system displays the following messages, a queue or job refers to the characteristic:


%DELETE-E-NOTDELETED, error deleting characteristic
-JBC-E-REFERENCED, existing references prevent deletion 

You must remove all references to the characteristic before you can delete the characteristic. For information about removing references to a characteristic, see Section 13.8.5.

13.6.4 Specifying Batch Processing Options

You can use queue options to control batch job performance and the use of system resources by processes executing batch jobs.

Use the following qualifiers with INITIALIZE/QUEUE, START/QUEUE, or SET QUEUE to set these queue options:
Qualifier Description
/JOB_LIMIT= n Specifies the number of jobs that can execute concurrently in the queue.
/[NO]DISABLE_SWAPPING Specifies whether the processes running jobs on the queue can be swapped in and out of memory.
/CPUDEFAULT= time Specifies the default CPU time limit for all jobs in the queue. The time cannot exceed the time limit set with the /CPUMAXIMUM qualifier.
/CPUMAXIMUM= time Specifies the maximum CPU time limit for all jobs in the queue.

Although the following qualifiers are not specific to batch queues, they are commonly used to control batch job performance and the use of system resources by batch processes:
Option Description
/BASE_PRIORITY= n Specifies the base process priority at which jobs are initiated from a batch queue.
/WSDEFAULT= n Specifies the default working set size for jobs executed in a batch queue. (For output queues, specifies the default working set size for symbiont processes.)
/WSEXTENT= n Specifies the working set extent for jobs executed in a batch queue. (For output queues, specifies the working set extent for symbiont processes.)
/WSQUOTA= n Specifies the working set quota for jobs executed in a batch queue. (For output queues, specifies the working set quota for symbiont processes.)

For more information about these limits, quotas, and priorities, refer to the following manuals:

By default, a process running a batch job uses values taken from the UAF record of the user submitting the job or from system parameter settings. If you specify values for any of these options, processes for jobs executed in the queue will use the values you set unless the user specifies values when the job is submitted. (A user can specify values for CPU time and for the working set options default, quota, and extent.)

A user-specified value cannot exceed the value you set for the queue. If you did not specify a value, the user-specified value cannot exceed the value specified in the associated UAF limit or system parameter.

The following sections provide guidelines for choosing values for these options:
Option For More Information
Base process priority Section 13.6.4.1
Job limit Section 13.6.4.2
Working set default, quota, and extent Section 13.6.4.3
CPU default and maximum Section 13.6.4.4
Swapping Section 13.6.4.5
Options for memory-constrained systems Section 13.6.4.6
Optimizing for the Sort/Merge utility Section 13.6.4.7

13.6.4.1 Base Process Priority

Choose a value based on how quickly you will allow batch jobs to progress. If you choose a value equal to the system parameter value DEFPRI (typically 4), jobs in this queue will progress at the same rate as typical interactive jobs. This choice might be appropriate for systems that have an abundance of available CPU time.

If you choose a value less than DEFPRI, jobs in this queue will potentially progress more slowly than the typical interactive job. CPU time will be allocated to jobs in this queue only after servicing jobs of DEFPRI priority.

If a queue is defined for a very special purpose---for example, high-priority jobs---a value greater than DEFPRI (for example, 5) might be appropriate. However, this choice can have a significant negative effect on the performance of other users and batch jobs.

13.6.4.2 Job Limit

Keep this value low when using a base process priority of DEFPRI or greater, because each batch job can affect the performance of interactive jobs.

13.6.4.3 Working Set Default, Quota, and Extent

If you do not specify values for these options, a job uses the value specified in its owner's user authorization file (UAF) record.
Process Limit Description
Working set default The value to which the working set returns at the exit of each image. The value should be relatively small and is usually best left at the value specified in the user's UAF record.
Working set quota The value that approximates the amount of physical memory used by each batch job in the queue in a memory-constrained system.
Working set extent The value that approximates the amount of physical memory in a memory-rich system.

You should set this to a high value. The working set extent value is an upper limit for the size of the working set; the working set cannot be expanded beyond this value even if more memory is required by the job. If you set this value too low, a job might page fault heavily even if the system has plenty of memory available. To be safe, choose a working set extent value equal to the system parameter value of WSMAX, which specifies the maximum working set size possible for your system.

In general, the working set quota and extent values specified in the UAF record for each user are sufficient. However, you can specify more generous or stringent values for a queue, depending on the purpose of the queue. For example, you can encourage users to submit large jobs (such as compiling and linking large programs) as batch jobs to reserve interactive use of the system for jobs that do not require extensive resources, as follows:

13.6.4.4 CPU Default and Maximum

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 13.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.

13.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.

13.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.)

13.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.

13.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:

  1. Job scheduling priority
    The queue manager checks the job's scheduling priority. The job with the highest scheduling priority value is processed first. The job scheduling priority is different than the base process priority or current process priority. The user can specify job scheduling priority with the /PRIORITY qualifier of the PRINT or SUBMIT command.
  2. Size (optional, and applies only to output jobs)
    By default, the job size of an output job is checked. Among jobs of identical scheduling priority, the smallest job is processed first.
    The job size is not checked if the queue has been created, started, or modified to use the /SCHEDULE=NOSIZE option.
  3. Submission time
    If the jobs' scheduling priorities are identical, the job that was submitted first is processed first.

How to Perform This Task

To specify job scheduling options, follow these steps:

  1. Decide if you want the order of print jobs to be based on size.
  2. Decide if you want to set a block limit on jobs to be printed.

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.

13.6.5.1 Setting Job Scheduling Priorities and Limits

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.

How to Limit the Size of Jobs

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.

13.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 13.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).

13.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 13-11
Burst page Two flag pages, divided by a separation (burst) bar, printed before each job. Figure 13-11
Trailer page A page printed after each job. Figure 13-13
File Pages
Flag page A single page printed before each file in a job. Figure 13-12
Burst page Two flag pages, divided by a separation (burst) bar, printed before each file in a job. Figure 13-12
Trailer page A page printed after each file in a job. Figure 13-13

Note

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 13-2 describes the information found on job flag pages, file flag pages, job trailer pages, and file trailer pages.

Table 13-2 Contents of Job and File Pages
Item Description
Header bar A segmented bar composed of:

For a job flag page:

A single-segment bar composed of:

  • Rows of a repeated numeral indicating the sequence of the job in the queue.
  • An embedded text string specified by defining the PSM$ANNOUNCE system logical name. The length of the string is limited to one form width. If PSM$ANNOUNCE is not defined, the default text string is "Compaq Computer Corporation" followed by the system version number. (Use "Compaq" for shorter form width.)

For a file flag page:

A three-segment bar composed of:

  • A central segment identical to the job flag page.
  • Flanking segments with rows of a repeated character indicating the sequence of the file in the job.

For a job trailer page:

A three-segment bar composed of:

  • A central segment with "END OF JOB" banner.
  • Flanking segments with job sequence numeral.

For a file trailer page:

A five-segment bar composed of the following elements:

  • Central segment with "END OF FILE" banner.
  • Inner flanking segments with job sequence numeral.
  • Outer flanking segments with file sequence character.
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:
  • Full file specification, including device and directory, file name, type, version, and revision date and time
  • File size in blocks
  • File organization
  • File owner's UIC
  • File record characteristics: record type, carriage control, and size of longest record
Receipt box (job trailer page only) Contains the following signoff fields: Received:, Date:, and Operator:.
Job sentence Indicates the following information:
  • Job name and number
  • Name of queue to which job was submitted
  • Submission date and time
  • Process user name, UIC, and account
  • Job scheduling priority
  • Print device name
  • Job start time
  • Execution queue name
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.


Previous Next Contents Index

  [Go to the documentation home page] [How to order documentation] [Help on this site] [How to contact us]  
  privacy and legal statement  
6017PRO_059.HTML