ENQUEUES
The ENQUEUES (ENQ) service displays current enqueue conflicts or requested system enqueue information.
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
The 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
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:
scope of enqueue
The possible scopes are as follows:
- SYSTEMS
- SYSTEM
- STEP
- whether the resource is global or local
- major name (Q=)
- minor name (R=)
- system ID for system executing the task that is holding or waiting for the resource
- 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
- ID for the address space holding or waiting for the resource
- current status (OWNS or WAIT), indicating that the task holds (OWNS) the resource or is waiting (WAIT) for the resource
- type of enqueue: EXC for exclusive, SHR for shared
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.
- 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
- device number in hexadecimal
- volume serial number
- 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*
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
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
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
Related topic