HP OpenVMS Systems

ask the wizard
Content starts here

mutex or resource (MWAIT/RWAST) wait state?

» close window

The Question is:

I have a backup process that is in a mutex state.  I went into SDA to show this
 process and I found that the Event flag wait mask and the JIB Address were the
 same.  From an earlier question that was asked I know that I have run out of
 either BYTLM or TQE
LM quota.  This batch job that runs is submitted via the system account.
 Currently my BYTLM for systems is 100000 and TQELM is 100.  My autogen
 parameters for PQL_DBYTLM is 65536 and for PQL_DTQELM is 16.  Should I
 increase this in autogen or just within
 my system account?  My second question deals with the SDA information for the
 process that is in a mutex state.  The answer given in an earlier question was
 to look at the JIB$B_FLAGS field (offset in the JIB) to determine if it is a
 BYTLM or TQELM quota
 issue.  How can I see that information?  When I show the entire process I see
 no JIB$B_FLAGS field.  I am trying to determine which quota I need to change.
 Please advise.  Thanks.
P.S.  Here was the process I had shown.
SDA> sho process batch_565
Process index: 00F1   Name: BATCH_565   Extended PID: 202090F1
Process status:          00044003  RES,DELPEN,BATCH,PHDRES
        status2:         00000001  QUANTUM_RESCHED
PCB address              81020800    JIB address              8120E500
PHD address              85C4A000    Swapfile disk address    00000000
KTB vector address       81020AEC    HWPCB address            85C4A080
Callback vector address  00000000    Termination mailbox          0000
Master internal PID      002400F1    Subprocess count                0
Creator extended PID     00000000    Creator internal PID     00000000
Previous CPU Id          00000001    Current CPU Id           00000001
Previous ASNSEQ  000000000019935A    Previous ASN     0000000000000049
Initial process priority        3    Delete pending count            1
# open files allowed left    4236    Direct I/O count/limit       4095/4096
UIC                [00001,000004]    Buffered I/O count/limit      148/150
Abs time of last event   0988051E    BUFIO byte count/limit        224/1824
ASTs remaining               4132    # of threads                    1
Swapped copy of LEFC0    00000000    Timer entries allowed left    100
Swapped copy of LEFC1    00000000    Active page table count         0
Global cluster 2 pointer 00000000    Process WS page count        3936
    Press RETURN for more.
Process index: 00F1   Name: BATCH_565   Extended PID: 202090F1
Global cluster 3 pointer 00000000    Global WS page count           31
    Press RETURN for more.
Extended PID: 202090F1     Thread index: 0000
Current capabilities:    System: 0000000C  QUORUM,RUN
                         User:   00000000
Permanent capabilities:  System: 0000000C  QUORUM,RUN
                         User:   00000000
Current affinities:      00000000
Permanent affinities:    00000000
Thread status:           00044003
       status2:          00000001
KTB address              81020800    HWPCB address            85C4A080
PKTA address             7FFEFF98    Callback vector address  00000000
Internal PID             002400F1    Callback error           00000000
Extended PID             202090F1    Current CPU id           00000001
State                       MUTEX    Flags                    00000000
Base priority                   3    Current priority                6
Waiting EF cluster              0    Event flag wait mask     8120E500
CPU since last quantum       001E    Mutex count                     0
ASTs active                  U

The Answer is :

  If you have a BACKUP process in this mutex state, go immediately to
  the System Manager's documentation in the OpenVMS documentation set.
  Follow the BACKUP operator process quota recommendations provided in
  the manual, and DO NOT alter the ratios between the quotas and do not
  decreate the quotas below the recommended values.
  You will also want to install and configure AMDS or the more recent
  Availability Manager package, as these packages can dynamically adjust
  process quota settings.  (These packages are licensed with OpenVMS, and
  are separately installed.)
  AUTOGEN is unrelated to the process quota settings.
  To trace the cause of the mutex, you will need CMKRNL or CMEXEC
  privilege, and you will need to use SDA.
  Use SDA (ANALYZE/SYSTEM) to locate the Process Control Block (PCB)
  of the wedged process.
  If the PCB$L_EFWM field of the mutex-wedged process contains the
  address of a JIB, it implies the process is wedgeted on BYTCNT or
  TQELM.  If the value in the PCB$L_EFWM field is a small positive
  integer, then it is not a system-space address and not a JIB, as
  a system space address longword is interpreted as a negative value.
  If the value seen in PCB$L_EFWM does appear to be a JIB address,
  follow the PCB linkage to the JIB (or follow the address in the
  PCB$L_EFWM), and look in the JIB$B_FLAGS byte for the flag value
  indicate if the mutex wait is due to insufficient process BYTLM
  or due to insufficient process TQELM.
  The following sequence of commands can be used on OpenVMS Alpha:
  The process identification (PID) can be used as the process index
  value (within the SDA utility SHOW PROCESS/INDEX command) when using
  the SDA utility that is provided on all recent OpenVMS releases.
  Based on the BYTLM information provided here, the BYTLM setting is
  extremely low and the available BYTLM is even lower, and certainly
  appears as a good potential culprit here.
  If you wish to learn details of the structure and operation of the
  OpenVMS kernel, you will want to acquire the OpenVMS Alpha Internals
  and Data Structures Manual from the folks at Digital Press.
  Related topics here in Ask The Wizard include (6), (2347), (5841),
  and (7120).

answer written or last revised on ( 4-OCT-2001 )

» close window