![]() |
![]() HP OpenVMS Systemsask the wizard |
![]() |
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. Stewart 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. SDA> Process index: 00F1 Name: BATCH_565 Extended PID: 202090F1 -------------------------------------------------------------- Global cluster 3 pointer 00000000 Global WS page count 31 Press RETURN for more. SDA> 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 JIB$V_BYTCNT_WAITERS or JIB$V_TQCNT_WAITERS. The flag(s) will 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: $ ANALYZE/SYSTEM READ SYS$LOADABLE_IMAGES:SYSDEF.STB SHOW PROCESS/INDEX=index FORMAT JIB 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).
|