ENQUEUES


The ENQUEUES (ENQ) service displays current enqueue conflicts or requested system enqueue information.

Note

The QUEUE service functionally replaces the ENQUEUES service, while providing new features. BMC recommends that you use the QUEUE service rather than the ENQUEUES service because BMC intends to remove the ENQUEUES service in a future release. The QUEUE service functionally replaces the ENQUEUES service, while providing new features.

An enqueue conflict exists when one or more jobs are waiting on a resource held by another job. This service helps you determine the cause of reduced system performance, the name and system ID for jobs holding a resource, and the jobs waiting for the same resource.

A conflict exists when one or more requesters are waiting for a resource. If this occurs frequently for a given resource, you can cause that resource to be omitted from the display by adding it to BBPARM member $$XENQ. See XENQ.

When you type the ENQUEUES command without operands, information about any current enqueue conflicts is displayed. The ENQUEUES service also displays enqueue information for a specified minor name and major name (R name and Q name, respectively), or all enqueue information for a specified major name (Q name). The default major name is SYSDSN. Therefore, you can display enqueues for a data set simply by typing the data set name (minor name).

Syntax

GUID-E396908A-7698-443A-9B0E-D7DB2594B09A-low.pngThe parameters are defined as follows: 

Parameter

Description

minorName

R name used by ENQUEUES

minorName*

indicates a partial minor name; partial names can be specified by using a wildcard character (asterisk)

majorName

Q name used by ENQUEUES; SYSDSN is the default

dsname

data set name

member

member name

SPFEDIT

major name used by ISPF EDIT

Examples

The following examples demonstrate how the ENQUEUES service presents information about enqueue conflicts and resource ownership.

Example 1 – Conflict information example

An enqueue conflict exists when one or more jobs wait for a resource held by another job. The ENQUEUES service displays the name and system ID of jobs holding a resource and the jobs waiting for the same resource. Use this information to determine the source of the performance delay in your system.

To display all current enqueue conflicts, type

ENQUEUES

        [1]       [2]      [3]        [4]    
 AMTQ1PI SYSTEM  (LOCAL) Q=SYSZVVDS R=CATALOG.ICFMCAT.SYSC
 AMTQ1QI SYSID  JOBNAME   ASID   STAT TYP TIME 14:12:19
 AMTQ1RI SYSB   QA7A     (005B)  OWNS EXC
 AMTQ1RI SYSA   FLN1     (0096)  WAIT EXC
 AMTQ1RI SYSB   QA7      (0352)  WAIT EXC
 AMTQ1LI
 AMTQ1PI SYSTEM  (LOCAL) Q=SYSIGGV2 R=ICFUCAT.VTSG304
 AMTQ1QI SYSID  JOBNAME   ASID   STAT TYP TIME 14:12:19
          [5]    [6]       [7]   [8]   [9]           
 AMTQ1RI SYSB   ARG1     (00A2)  WAIT EXC
                                           [10]   [11] [12] [13]  [14]
 AMTQ1RI SYSC   MPP1     (0121)  OWNS SHR RES=003 PEND 291 TSG304 NR

Legend:

  1. scope of enqueue

    The possible scopes are as follows:

    • SYSTEMS
    • SYSTEM
    • STEP
  2. whether the resource is global or local
  3. major name (Q=)
  4. minor name (R=)
  5. system ID for system executing the task that is holding or waiting for the resource
  6. job name, TSO user ID, or Started Task ID for the address space containing the task that is holding or waiting for the resource; the job name is not available in some situations
  7. ID for the address space holding or waiting for the resource
  8. current status (OWNS or WAIT), indicating that the task holds (OWNS) the resource or is waiting (WAIT) for the resource
  9. type of enqueue: EXC for exclusive, SHR for shared
  10. indicates that a reserve is associated with the enqueue

    The reserve count is also displayed unless it is zero, in which case the equal sign is also omitted. CVT is displayed instead of RES if the reserve has been converted to a global enqueue.

  11. if present, indicates that the reserve is pending, which means that the task is waiting to reserve the devices; generally, the device is reserved by another system
  12. device number in hexadecimal
  13. volume serial number
  14. if present, indicates that the device is not ready

Example 2 – Resource ownership information examples

Typing ENQUEUES followed by the minor name (R name) and major name (Q name) displays the jobs that hold the specified resource and information related to their use of the resource. A partial minor name displays all enqueues with minor names that begin with the specified characters for the requested major name. An asterisk typed as the last character indicates a partial minor name. SYSDSN is the default major name.

To display all enqueues for data sets starting with SYS1.L, type

ENQUEUES SYS1.l*

AMTQ1P1 SYSTEM  (LOCAL) Q=SYSDSN  R=SYS1.LPALIB
AMTQ1QI SYSID  JOBNAME   ASID   STAT TYP TIME 16:05:20
AMTQ1RI SYSB   MEE2      (00C0) OWNS SHR
AMTQ1LI
AMTQ1P1 SYSTEM  (LOCAL) Q=SYSDSN  R=SYS1.LINKLIB
AMTQ1QI SYSID  JOBNAME   ASID   STAT TYP TIME 14:12:19
AMTQ1RI SYSB   LLA       (0006) OWNS SHR

Besides SYSDSN, another common major name is SPFEDIT. ISPF EDIT uses the major name SPFEDIT and a 52-character minor name consisting of the data set name (a 44-character field padded with blanks), followed by the member name.

The ENQUEUES service provides special syntax to allow you to display these ISPF EDIT enqueues for specific members. Type the data set name (dsn), followed by a slash (/), followed by the member name, a comma (or blank), and the major name SPFEDIT.

For example, to determine the job names editing member IEASYS00 in SYS1.PARMLIB, type

ENQUEUES SYS1.PARMLIB/IEASYS00,SPFEDIT

AMTQ1P1 SYSTEM  (LOCAL) Q=SPFEDIT R=SYS1.PARMLIB        IEASYS00
AMTQ1QI SYSID  JOBNAME   ASID   STAT TYP TIME 14:12:19
AMTQ1RI SYSB   CIR3      (00B7) OWNS EXC

In each of these examples, the header line is followed by two or more information lines. The ENQUEUES service displays one line for each task that issued an ENQ or RESERVE for the resource.

To display all jobs that are using all resources for a major name, type an asterisk (or a comma to indicate no minor name), followed by the major name, as illustrated here:

ENQUEUES *,SYSZVVDS

AMTQ1P1 SYSTEM  (LOCAL) Q=SYSZVVDS R=CATALOG.ICFMCAT.SYSC
AMTQ1QI SYSID  JOBNAME   ASID   STAT TYP TIME 14:12:19
AMTQ1RI SYSB   QA7A      (005B) OWNS EXC
AMTQ1RI SYSB   FLN1      (0096) WAIT EXC
AMTQ1RI SYSD   QA7       (0352) WAIT EXC


Note

Specifying a partial minor name can produce a large volume of output.


Related topic



 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*