|
OpenVMS VAX System Dump Analyzer Utility Manual
The SHOW PROCESS/LOCKS/INDEX=0A command displays information about the
locks held by process JOB_CONTROL, whose PCB is at index 0A, into the
system's PCB list. This command implicitly makes JOB_CONTROL the SDA
current process for subsequent commands that display process context
information. It has no effect on SDA CPU context because JOB_CONTROL is
not current on any processor in the multiprocessing system.
RMS Display Options: IFB,IRB,IDX,BDB,BDBSUM,ASB,CCB,WCB,FCB,FAB,RAB,NAM,XAB,RLB,
BLB,BLBSUM,GBD,GBH,FWA,GBDSUM,JFB,NWA,RU,DRC,SFSB,GBSB
Display RMS structures for all IFI values.
SDA> SHOW PROCESS/RMS
.
.
.
Process index: 0032 Name: BEASSEM_MTHRTL_ Extended PID: 27200132
--------------------------------------------------------------------
IFAB Address: 7FF9C808 IFI: 0002 Organization: Sequential
------------
PRIM_DEV: 1C4D4108 DIR,FOD,SHR,AVL,ELG,IDV,ODV,RND
BKPBITS: 00080020 ACCESSED,NORECLK
BLN: 3A 58. BID: 0B 11.
EFN: 00 MODE: 03
IOS: 00000001 ASBADDR: 00000000
IOS2: 0000 WAIT_Q_FLINK: 00000000
IOS4: 00000000 ARGLST: 7FF21418
ATJNLBUF: 00000000 WAIT_Q_BLINK: 00000000
FSBPTR: 00000000 AGENT_MODE: 03
SHR: 02 SHRGET
IRAB_LNK: 7FF9C958 CHNL: 00C0
FAC: 02 GET
ORGCASE: 00 Sequential
LAST_FAB: 00081FD0 NWA_PTR: 00000000
IFI: 0002 ECHO_ISI: 0000
FWA_PTR: 7FF9CC00
BDB_FLNK: 7FF9CBB0 DEVBUFSIZ: 00000200 512.
BDB_BLNK: 7FF9CB60 RTDEQ: 0000 0.
RFMORG: 02 VAR
RAT: 02 CR
LRL: 004C 76. HBK_DISK: 000C0000
FFB: 0084 132. EBK_DISK: 000C0000
FSZ: 00 0. BKS: 00 0.
DEQ: 0000 0. MRS: 0000 0.
HBK: 0000000C 12. GBC: 0000 0.
EBK: 0000000C
LAST_GOOD_EBK: 00000000 0. LAST_GOOD_FFB: 0000 0.
RNS_LEN: 00000000 LOCK_BDB: 00000000
.
.
.
|
The SHOW PROCESS/RMS command displays RMS data structures for the
current SDA process.
#5 |
SDA> SHOW PROCESS/IMAGES
|
Process activated images
------------------------
ICB Start End Type Image Name Major ID,Minor ID
-------- -------- -------- -------------- -----------------------------
7FF83878 00000200 00000DFF MAIN SHOW_PROC_IMAGES 0,0
7FF84100 0003AC00 0003FBFF GLOBAL PRT SHR DECW$TRANSPORT_COMMON 12,12
7FF84400 00036200 0003ABFF GLOBAL CONVSHR 1,0
7FF84470 0002E400 000361FF GLOBAL FDLSHR 1,0
7FF84560 00021A00 0002E3FF GLOBAL SORTSHR 2,28
7FF845D0 00000E00 000089FF GLOBAL LIBRTL2 1,12
7FF835F8 00008A00 000219FF GLOBAL SHR LIBRTL 1,14
7FF84800 00060C00 000767FF MERGED SHR ADARTL 0,0
7FF84720 00076800 000A03FF GLOBAL SHR MTHRTL 129,32781
Total images = 9 Pages allocated = 1017
|
The SHOW PROCESS/IMAGES command displays the address of the image
control block, the start and end addresses of the image, the activation
code, the protected and shareable flags, the image name, and the major
and minor IDs of the image.
#6 |
SDA> SHOW PROCESS/TRANSACTIONS=(DISPLAY=THREADS,
TID=FAC21DE2-BA88-0092-8FA6-B24B)
|
The SHOW PROCESS command displays the transaction thread information
for the transaction whose identifier is FAC21DE2-BA88-0092-8FA6-B24B.
SHOW RESOURCE
Displays information about all resources in the system or about a
resource associated with a specific lock.
Format
SHOW RESOURCE {/ALL|/LOCKID=lock-id|/NAME=resource-name}
Parameters
None.
Qualifiers
/ALL
Displays information from all resource blocks (RSBs) in the system.
This is the default behavior of the SHOW RESOURCE command.
/LOCKID=lock-id
Displays information about the resource associated with the lock with
the specified lock-id.
/NAME=resource-name
Displays information about the resource whose resource name begins with
the specified resource-name. For case-sensitive names,
enclose resource-name in quotation marks.
Description
The SHOW RESOURCE command displays the information listed in
Table SDA-21 for each resource in the system or for the specific
resource associated with the specified lock-id.
Table SDA-21 Resource Information in the SHOW RESOURCE Display
Field |
Contents |
Address of RSB
|
Address of the resource block (RSB) that describes this resource.
|
Parent RSB
|
Address of the RSB that is the parent of this RSB. This field is
00000000 if the RSB itself is a parent block.
|
Sub-RSB count
|
Number of RSBs of which this RSB is the parent. This field is 0 if the
RSB has no sub-RSBs.
|
Group grant mode
|
Indication of the most restrictive mode in which a lock on this
resource has been granted. This field can contain the following values
(shown in order from the least restrictive mode to the most
restrictive):
- NL
Null mode
- CR
Concurrent-read mode
- CW
Concurrent-write mode
- PR
Protected-read mode
- PW
Protected-write mode
- EX
Exclusive mode
For information about conflicting and incompatible lock modes, see
the OpenVMS System Services Reference Manual.
|
Conversion grant mode
|
Indication of the most restrictive lock mode to which a lock on this
resource is waiting to be converted. This does not include the mode for
which the lock at the head of the conversion queue is waiting.
|
BLKAST count
|
Number of locks on this resource that have requested a blocking AST.
|
Value block
|
Hexadecimal dump of the 16-byte block value block associated with this
resource.
|
Sequence #
|
Sequence number associated with the resource's value block. If the
number indicates that the value block is not valid, the words "Not
valid" appear to the right of the number.
|
CSID
|
Cluster system identification number (CSID) of the node that owns the
resource.
|
Resource
|
Dump of the name of this resource, as stored at the end of the RSB. The
first two columns are the hexadecimal representation of the name, with
the least significant byte represented by the rightmost two digits in
the rightmost column. The third column contains the ASCII
representation of the name, the least significant byte being
represented by the leftmost character in the column. Periods in this
column represent values that correspond to nonprinting ASCII characters.
|
Length
|
Length in bytes of the resource name.
|
---
|
Processor mode of the name space in which this RSB resides.
|
---
|
Owner of the resource. Certain resources, owned by the operating
system, list "System" as the owner. Locks owned by a group
have the number (in octal) of the owning group in this field.
|
Granted queue
|
List of locks on this resource that have been granted. For each lock in
the list, SDA displays the number of the lock and the lock mode in
which the lock was granted.
|
Conversion queue
|
List of locks waiting to be converted from one mode to another. For
each lock in the list, SDA displays the number of the lock, the mode in
which the lock was granted, and the mode to which the lock is to be
converted.
|
Waiting queue
|
List of locks waiting to be granted. For each lock in the list, SDA
displays the number of the lock and the mode requested for that lock.
|
Examples
Resource database
-----------------
Address of RSB: 807F6120 Group grant mode: NL
Parent RSB: 806EA180 Conversion grant mode: NL
Sub-RSB count: 0 BLKAST count: 0
Value block: 806CE510 00000000 00000002 00000002 Seq. #: 00000008
Resource: 09ED7324 42313146 F11B$sí.
Length 10 00000000 00000200 ........ CSID: 00020041
Kernel mode 00000000 00000000 ........
System 00000000 00000000 ........
Granted queue (Lock ID / Gr mode):
006801AE NL
Conversion queue (Lock ID / Gr/Rq mode):
*** EMPTY QUEUE ***
Waiting queue (Lock ID / Rq mode):
*** EMPTY QUEUE ***
Address of RSB: 807EB9E0 Group grant mode: PW
Parent RSB: 00000000 Conversion grant mode: EX
Sub-RSB count: 0 BLKAST count: 1
Value block: 00000000 00000003 00000000 0000FFF2 Seq. #: 0000027F Not valid
Resource: 32245F24 44414853 SHAD$_$2
Length 16 3A31534A 44243435 54$DJS1: CSID: 0002001A
Kernel mode 00000000 00000000 ........
System 00000000 00000000 ........
.
.
.
|
The SHOW RESOURCE command displays information taken from the RSBs of
all resources in the system. For instance, the RSB at
807EB9E016 is a parent block with no sub-RSBs. The most
restrictive lock granted on this resource is in protected-write (PW)
mode. There is a lock on the conversion queue waiting to be converted
from PW mode to exclusive (EX) mode.
#2 |
SDA> SHOW PROCESS/LOCKS
Process index: 001C Name: STARTQ Extended PID: 4800011C
-----------------------------------------------------------
Lock data:
Lock id: 0117054F PID: 0001001C Flags: VALBLK SYNCSTS SYSTEM
Par. id: 00000000 Granted at PW NOQUOTA
Sublocks: 0
LKB: 808091A0
Resource: 45527624 42313146 F11B$vRE Status: NOQUOTA
Length 18 20205241 4D323053 S02MAR
Kernel mode 00000000 00002020 ......
System 00000000 00000000 ........
Process copy of lock 008209CF on system 0002001
.
.
.
SDA> SHOW RESOURCE/LOCKID=117054F
Resource database
-----------------
Address of RSB: 806BB050 Group grant mode: NL
Parent RSB: 00000000 Conversion grant mode: NL
Sub-RSB count: 4 BLKAST count: 0
Value block: 00960102 0000330B 000735AA 5A020005 Seq. #: 00006D9F
Resource: 45527624 42313146 F11B$vRE
Length 18 20205241 4D323053 S02MAR CSID: 0002001A
Kernel mode 00000000 00002020 ......
System 00000000 00000000 ........
Granted queue (Lock ID / Gr mode):
0117054F PW 00060545 CR
Conversion queue (Lock ID / Gr/Rq mode):
*** EMPTY QUEUE ***
Waiting queue (Lock ID / Rq mode):
*** EMPTY QUEUE ***
|
The SHOW PROCESS/LOCKS command lists all locks associated with the SDA
current process, STARTQ. Its display is identical to that of the SHOW
LOCK command, illustrated in Table SDA-15. The SHOW
RESOURCE/LOCKID=117054F command determines that this particular lock is
on the granted queue in protected-write mode for the resource at
806BB05016.
#3 |
SDA> SHOW RESOURCE/NAME=RMS$
Resource database
-----------------
Address of RSB: 80EFBE40 GGMODE: EX Status: DIRENTR VALID
Parent RSB: 00000000 CGMODE: EX
Sub-RSB count: 2 FGMODE: EX
Lock Count: 1 CSID: 00000000
BLKAST count: 1 RQSEQNM: 0000
Resource: 00030014 24534D52 RMS$.... Valblk: 00000000 00000000
Length 26 4D565841 56020000 ...VAXVM 00000000 00000000
Exec. mode 00202035 35305653 SV055 .
System 00000000 00000000 ........ Seqnum: 00000000
Granted queue (Lock ID / Gr mode / Range):
6400004C EX 00000000-FFFFFFFF
Conversion queue (Lock ID / Gr mode / Range -> Rq mode / Range):
*** EMPTY QUEUE ***
Waiting queue (Lock ID / Rq mode / Range):
*** EMPTY QUEUE ***
.
.
.
|
This example of the SHOW RESOURCE/NAME command displays information
about the resource whose name begins with RMS$.
SHOW RMS
Displays the RMS data structures selected by the SET RMS command to be
included in the default display of the SHOW PROCESS/RMS command.
Format
SHOW RMS
Parameters
None.
Qualifiers
None.
Description
The SHOW RMS command lists the names of the data structures selected
for the default display of the SHOW PROCESS/RMS command.
For a description of the significance of the options listed in the SHOW
RMS display, see the description of the SET RMS command and
Table SDA-14.
For an illustration of the information displayed by the SHOW
PROCESS/RMS command, see the examples included in the description of
the SHOW PROCESS command.
Examples
#1 |
SDA> SHOW RMS
RMS Display Options: IFB,IRB,IDX,BDB,BDBSUM,ASB,CCB,WCB,FCB,FAB,RAB,NAM,
XAB,RLB,BLB,BLBSUM,GBD,GBH,FWA,GBDSUM,JFB,NWA,RU,DRC,SFSB,GBSB
Display RMS structures for all IFI values.
|
The SHOW RMS command displays the full set of options available for
display by the SHOW PROCESS/RMS command. SDA, by default, selects the
full set of RMS options at the beginning of an analysis.
#2 |
SDA> SET RMS=(IFB,CCB,WCB)
SDA> SHOW RMS
RMS Display Options: IFB,CCB,WCB
Display RMS structures for all IFI values.
|
The SET RMS command establishes the IFB, CCB, and WCB as the structures
to be displayed when you issue the SHOW PROCESS/RMS command. The SHOW
RMS command verifies this selection of RMS options.
SHOW RSPID
Displays information about response IDs (RSPIDs) of all SCS connections
or, optionally, a specific SCS connection.
Format
SHOW RSPID [/CONNECTION=cdt-address]
Parameters
None.
Qualifier
/CONNECTION=cdt-address
Displays RSPID information for the specific SCS connection whose
connection descriptor table (CDT) address is provided in
cdt-address.14
Description
Whenever a local system application (SYSAP) requires a response from a
remote SYSAP, the local system assigns a unique number, called an
RSPID, to the response. The RSPID is transmitted in the original
request (as a means of identification), and the remote SYSAP returns
the same RSPID in its response to the original request.
The SHOW RSPID command displays information taken from the response
descriptor table (RDT), which lists the currently open local requests
that require responses from SYSAPs at a remote node. For each RSPID,
SDA displays the following information:
- RSPID value
- Address of the class driver request packet (CDRP), which generally
represents the original request
- Address of the CDT using the RSPID
- Name of the local process using the RSPID
- Remote node from which a response is required (and has not yet been
received)
Examples
VAXcluster data structures
--------------------------
--- Summary of Response Descriptor Table(RDT) 8037A4A8 ---
RSPID CDRP Address CDT Address Local Process Name Remote Node
----- ------------ ----------- ------------------ -----------
04C30000 803917B0 8037AB50 VMS$DISK_CL_DRVR SOWHAT
06260001 80804FA0 8037AF10 VMS$VAXcluster WALKIN
0C390002 807E0460 8037AD30 VMS$VAXcluster OLEO
.
.
.
|
The SHOW RSPID command shows the response IDs that are currently open
for all local connections in the VAXcluster system.
#2 |
SDA> SHOW RSPID/CONNECTION=G37B7D0
|
VAXcluster data structures
--------------------------
--- Summary of Response Descriptor Table(RDT) 8037A4A8 ---
RSPID CDRP Address CDT Address Local Process Name Remote Node
----- ------------ ----------- ------------------ -----------
08B8001C 807F0300 8037B7D0 VMS$VAXcluster METEOR
0915001D 807F08A0 8037B7D0 VMS$VAXcluster METEOR
|
The SHOW RSPID/CONNECTION=G37B7D0 command displays only those RSPIDs in
use that are associated with the SCS connection whose CDT is at address
8037B7D016.
Note
14 You can find the
cdt-address for any active connection on the system in
the CDT summary page display of the SHOW CONNECTIONS
command. CDT addresses are also stored in many individual data
structures related to SCS connections. These data structures include
class driver request packets (CDRPs) and unit control blocks (UCBs) for
class drivers that use SCS and cluster system blocks (CSBs) for the
connection manager.
|
SHOW SPINLOCKS
Displays information taken from the data structures that provide system
synchronization in a multiprocessing environment.
The default qualifiers are /STATIC and /DYNAMIC.
Format
SHOW SPINLOCKS [/OWNED][/BRIEF|/FULL][/DYNAMIC|/STATIC]
[name|/ADDRESS=expression|/INDEX=expression]
Parameter
name
Name of the spin lock, fork lock, or device lock structure to be
displayed. You can obtain the names of the static system spin locks and
fork locks from Table SDA-22. Device lock names are of the form
[node$]lock, where node optionally indicates the
VAXcluster node name (allocation class) and lock indicates the
device and controller identification (for example, HAETAR$DUA).
Qualifiers
/ADDRESS=expression
Displays the lock at the address specified in
expression. You can use the /ADDRESS qualifier to
display a specific device lock; however, the name of the device lock is
listed as "Unknown" in the display.
/BRIEF
Produces a condensed display of the lock information displayed by
default by the SHOW SPINLOCKS command, including the following:
address, spin lock name or device name, IPL or device IPL, rank, index,
ownership depth, number of waiting CPUs, CPU ID of the owner CPU, and
interlock status (depth of ownership).
/DYNAMIC
Displays information for all device locks in the system.
/FULL
Displays full descriptive and diagnostic information for each displayed
spin lock, fork lock, or device lock.
/INDEX=expression
Displays the system spin lock whose index is specified in
expression. You cannot use the /INDEX qualifier to
display a device lock.
/OWNED
Displays information for all spin locks, fork locks, and device locks
owned by the SDA current CPU. If a processor does not own any spin
locks, SDA displays the following message:
No spinlocks currently owned by CPU xx
|
The xx represents the CPU ID of the processor.
/STATIC
Displays information for all system spin locks and fork locks.
Description
The SHOW SPINLOCKS command displays status and diagnostic information
about the multiprocessing synchronization structures known as spin
locks.
A static spin lock is a spin lock whose data structure
is permanently assembled into the system. Static spin locks are
accessed as indexes into a vector of longword addresses called the
spin lock vector, the address of which is contained in
SMP$AR_SPNLKVEC. System spin locks and fork locks are static spin
locks. Table SDA-22 lists the static spin locks.
A dynamic spin lock is a spin lock that is created
based on the configuration of a particular system. One such dynamic
spin lock is the device lock SYSGEN creates when configuring a
particular device. This device lock synchronizes access to the device's
registers and certain UCB fields. The operating system creates a
dynamic spin lock by allocating space from nonpaged pool, rather than
assembling the lock into the system as it does in creating a static
spin lock.
See the OpenVMS VAX Device Support Manual15 for a full discussion of the role of
spin locks in maintaining synchronization of kernel mode activities in
a multiprocessing environment.
Table SDA-22 Static Spin Locks
Name |
Description |
QUEUEAST
|
Fork lock for queuing ASTs at IPL 6
|
FILSYS
|
Lock on file system structures
|
IOLOCK8
|
Fork lock for executing a driver fork process at IPL 8
|
PR_LK8
|
Primary CPU's private lock for IPL 8
|
TIMER
|
Lock for adding and deleting timer queue entries and searching the
timer queue
|
JIB
|
Lock for manipulating job nonpaged pool quotas as reflected by the
fields JIB$L_BYTCNT and JIB$L_BYTLM in the job information block (JIB)
|
MMG
|
Lock on memory management, PFN database, swapper, modified page writer,
and creation of per-CPU database structures
|
SCHED
|
Lock on process control blocks (PCBs), scheduler database, and mutex
acquisition and release structures
|
IOLOCK9
|
Fork lock for executing a driver fork process at IPL 9
|
PR_LK9
|
Primary CPU's private lock for IPL 9
|
IOLOCK10
|
Fork lock for executing a driver fork process at IPL 10
|
PR_LK10
|
Primary CPU's private lock for IPL 10
|
IOLOCK11
|
Fork lock for executing a driver fork process at IPL 11
|
PR_LK11
|
Primary CPU's private lock for IPL 11
|
MAILBOX
|
Lock for sending messages to mailboxes
|
POOL
|
Lock on nonpaged pool database
|
PERFMON
|
Lock for I/O performance monitoring
|
INVALIDATE
|
Lock for system space translation buffer (TB) invalidation
|
VIRTCONS
|
Lock for ownership of the virtual console
|
HWCLK
|
Lock on hardware clock database, including the quadword containing the
due time of the first timer queue entry (EXE$GQ_1ST_TIME) and the
quadword containing the system time (EXE$GQ_SYSTIME)
|
MEGA
|
Lock for serializing access to fork-wait queue
|
MCHECK
|
Lock for synchronizing certain machine error handling
|
EMB
|
Lock for allocating and releasing error logging buffers
|
Note
15 This manual has been archived but
is available on the OpenVMS Documentation CD-ROM.
|
|