GRS resource contention

To check GRS resource contention by displaying GRS enqueues and latch usage on all machines in the sysplex, issue either of the following MVS commands.

The RO *ALL phrase means that the command goes to all systems in the sysplex:
   RO *ALL,D GRS,C
 
   RO *ALL,D GRS,RES=(SYSZLOGR,*)
A normal response looks like:
   D GRS,C
 
   ISG020I 12.06.49 GRS STATUS 647
   NO ENQ CONTENTION EXISTS
   NO LATCH CONTENTION EXISTS
 
   D GRS,RES=(SYSZLOGR,*)
 
   ISG020I 14.04.28 GRS STATUS 952
   NO REQUESTORS FOR RESOURCE  SYSZLOGR *
A response showing GRS contention looks like this. You may also see latch set name SYS.IXGLOGER_MISC:
   D GRS,C
 
   ISG020I 12.06.31 GRS STATUS 619
   LATCH SET NAME:  SYS.IXGLOGER_LCBVT
   CREATOR JOBNAME: IXGLOGR   CREATOR ASID: 0202
     LATCH NUMBER:  7
       REQUESTOR  ASID  EXC/SHR    OWN/WAIT
       IXGLOGR    0202  EXCLUSIVE  OWN
       IXGLOGR    0202  SHARED     WAIT
 
   D GRS,RES=(SYSZLOGR,*)
 
   ISG020I 19.58.33 GRS STATUS 374
   S=STEP    SYSZLOGR  91
   SYSNAME        JOBNAME         ASID     TCBADDR   EXC/SHR  OWN/WAIT
   MV26      MSLDELC1           002F       008F6370 EXCLUSIVE   OWN
   S=STEP    SYSZLOGR  93
   SYSNAME        JOBNAME         ASID     TCBADDR   EXC/SHR  OWN/WAIT
   MV26      MSLWRTC1           002E       008DED90 EXCLUSIVE   OWN
   MV26      MSLWRTC1           002E       008DB990 EXCLUSIVE   WAIT
   MV26      MSLWRTC1           002E       008DB700 EXCLUSIVE   WAIT
   MV26      MSLWRTC1           002E       008F60C8 EXCLUSIVE   WAIT
   S=SYSTEMS SYSZLOGR LPAYROL.TESTLOG.TLOG1
   SYSNAME        JOBNAME         ASID     TCBADDR   EXC/SHR  OWN/WAIT
   MV27      IXGLOGR            0011       008F7398 EXCLUSIVE   OWN
   MV26      IXGLOGR            0011       008F7398 EXCLUSIVE   WAIT

This shows which tasks (that is, MVS TCBs) have exclusive enqueues on the log streams, and which tasks are waiting for them. It is quite normal for enqueues and latches to be obtained, occasionally with contention. They are indications of a problem only if they last for more than a minute or so.

Long term enqueuing on the SYSZLOGR resource can be a sign of problems even if there is no contention.

You can choose to display only those log streams exclusively enqueued on by CICS jobs in the sysplex. Issue the following MVS command:
   D GRS,RES=(DFHSTRM,*)
A typical response to this command looks like this:
   ISG020I 14.51.28 GRS STATUS 541
   S=SYSTEMS DFHSTRM  PAYROL.CICSVR.DFHLGLOG
   SYSNAME        JOBNAME         ASID     TCBADDR   EXC/SHR  OWN/WAIT
   MV29      PAYROL91           0042       007D9108   SHARE     OWN
   MV29      PAYROL93           0044       007D9138   SHARE     OWN
   S=SYSTEMS DFHSTRM  PAYROL.FWDRECOV.UTL3
   SYSNAME        JOBNAME         ASID     TCBADDR   EXC/SHR  OWN/WAIT
   MV29      PAYROL91           0042       007D9108   SHARE     OWN
   MV29      PAYROL93           0044       007D9138   SHARE     OWN
   S=SYSTEMS DFHSTRM  PAYROL.IYK8ZET1.DFHJ02
   SYSNAME        JOBNAME         ASID     TCBADDR   EXC/SHR  OWN/WAIT
   MV29      PAYROL91           0042       007D9108   SHARE     OWN
   S=SYSTEMS DFHSTRM  PAYROL.IYK8ZET1.DFHLOG
   SYSNAME        JOBNAME         ASID     TCBADDR   EXC/SHR  OWN/WAIT
   MV29      PAYROL91           0042       007D9108 EXCLUSIVE   OWN
   S=SYSTEMS DFHSTRM  PAYROL.IYK8ZET1.DFHSHUNT
   SYSNAME        JOBNAME         ASID     TCBADDR   EXC/SHR  OWN/WAIT
   MV29      PAYROL91           0042       007D9108 EXCLUSIVE   OWN
   S=SYSTEMS DFHSTRM  PAYROL.IYK8ZET3.DFHJ02
   SYSNAME        JOBNAME         ASID     TCBADDR   EXC/SHR  OWN/WAIT
   MV29      PAYROL93           0044       007D9138   SHARE     OWN
   S=SYSTEMS DFHSTRM  PAYROL.IYK8ZET3.DFHLOG
   SYSNAME        JOBNAME         ASID     TCBADDR   EXC/SHR  OWN/WAIT
   MV29      PAYROL93           0044       007D9138 EXCLUSIVE   OWN
   S=SYSTEMS DFHSTRM  PAYROL.IYK8ZET3.DFHSHUNT
   SYSNAME        JOBNAME         ASID     TCBADDR   EXC/SHR  OWN/WAIT
   MV29      PAYROL93           0044       007D9138 EXCLUSIVE   OWN