|
OpenVMS VAX System Dump Analyzer Utility Manual
SHOW PROCESS
Displays the software and hardware context of any process in the
balance set.
Format
SHOW PROCESS [/qualifier[,...]][ALL|process-name|/INDEX=nn| /SYSTEM]
Parameters
ALL
Shows information about all processes that exist in the system.
process-name
Name of the process for which information is to be
displayed.11
You can determine the names of the processes in the system by issuing a
SHOW SUMMARY command.
The process-name can contain up to 15 letters and
numerals, including the underscore (_) and dollar sign ($) characters.
If it contains any other characters, you must enclose the
process-name in quotation marks (" ").
Qualifiers
/ALL
Displays all information shown by the following qualifiers: /CHANNEL,
/PAGE_TABLES, /PCB, /PHD, /PROCESS_SECTION_TABLE, /REGISTERS, and
/WORKING_SET.
/CHANNEL
Displays information about the I/O channels assigned to the process.
/IMAGES
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.
/INDEX=nn or /ID=nn
Specifies the process for which information is to be displayed by its
index into the system's list of software process control blocks (PCBs).
You can supply either of the following values for nn:
- The process index itself
- The process identification (PID) or extended PID longword, from
which SDA extracts the correct index
To obtain these values for any given process, issue the SDA command
SHOW SUMMARY.
/LOCKS
Displays the lock management locks owned by the current process.
The /LOCKS qualifier produces a display similar in format to that
produced by the SHOW LOCKS command. See Table SDA-15 for additional
information.
/P0
Displays the page tables for P0 space. See the description of the
/PAGE_TABLES qualifier.
/P1
Displays the page tables for P1 space. See the description of the
/PAGE_TABLES qualifier.
/PAGE_TABLESor /PPT [range|/P0|/P1]
Displays the page tables P0 and P1 spaces, or, optionally, either the
page table or the page table entries for a range of
addresses.
You can express a range using the following format:
m:n
|
Displays the page table entries that correspond to the range of virtual
addresses from
m to
n
|
m;n
|
Displays the page table entries that correspond to a range of
n pages, starting with page
m
|
/PARTICIPANTS[=DISPLAY=(item [,...])]
Displays information about all transactions for the process. The
argument to DISPLAY can be either a single item or a list. The
following items can be specified.
Item |
Description |
ALL
|
All transaction control structures for the transactions. This is the
default behavior.
|
BRANCHES
|
Control structures for branches of the transactions.
|
PARTICIPANTS
|
Control structures for resource managers participating in the
transactions.
|
THREADS
|
Control structures for threads of the transactions.
|
TRANSACTIONS
|
Transaction control structures for the transactions.
|
/PCB
Displays the information contained in the software process control
block (PCB). This is the default behavior of the SHOW PROCESS command.
/PHD
Lists information included in the process header (PHD).
/PROCESS_SECTION_TABLE or /PST
Lists the information contained in the process section table (PST).
/REGISTERS
Lists the hardware context of the process, as reflected in the
registers of the process stored in the hardware PCB and---if the
process is current on a processor in the system---the registers of the
processor.
/RMS[=option[,...]]
Displays certain specified RMS data structures for each image I/O or
process-permanent I/O file the process has open. To display RMS data
structures for process-permanent files, specify the PIO option to this
qualifier.
SDA determines the structures to be displayed according to either of
the following methods:
- If you provide the name of a structure or structures in the
option parameter, SHOW PROCESS/RMS displays
information from only the specified structures. (See Table SDA-14 for a
list of keywords that you can supply as options.)
- If you do not specify an option, SHOW PROCESS/RMS
displays the current list of options as shown by the SHOW RMS command
and set by the SET RMS command.
/SYSTEM
Displays the system process control block.12 The system PCB
and process header (PHD) are dummy structures that are located in
system space. These structures contain the system working set, global
section table, global page table, and other systemwide data.
/TRANSACTIONS=(option[,...])
Displays information about all transactions, or the specified
transaction, for the process. The following two options can be
specified either together or separately:
- DISPLAY=(item [,...])
Specifies the type of information to be
displayed. The argument to DISPLAY can be either a single item or a
list. The following items can be specified.
Item |
Description |
ALL
|
All transaction control structures for the specified transaction. This
is the default behavior.
|
BRANCHES
|
Control structures for branches of the specified transaction.
|
PARTICIPANTS
|
Control structures for resource managers participating in the specified
transaction.
|
THREADS
|
Control structures for threads of the specified transaction.
|
TRANSACTIONS
|
Transaction control structures for the specified transaction.
|
- TID=tid
Specifies the transaction for which information is to
be displayed. If you omit the TID option, the SHOW PROCESS/TRANSACTIONS
command displays information about all transactions for the process.
If you omit these options, the SHOW PROCESS/TRANSACTIONS command
displays all information about all transactions for the process.
Note that the SHOW PROCESS/TRANSACTIONS and SHOW PROCESS/PARTICIPANTS
commands display the same information about transactions, but in
different orders. The SHOW PROCESS/TRANSACTIONS command walks down a
transaction queue. The SHOW PROCESS/PARTICIPANTS command walks down a
resource manager queue.
/VECTOR_REGS
Displays the saved process vector registers.
/WORKING_SET or /WSL
Displays the working set list of the process.
Description
The SHOW PROCESS command displays information about the process
specified by process-name, the process specified with
the /INDEX qualifier, the system process, or all processes. By default,
the SHOW PROCESS command produces information about the SDA current
process, as explained in Section 4.
The SHOW PROCESS command performs an implicit SET PROCESS command under
certain uses of its qualifiers and parameters, as explained in
Section 4, Section 5, and Section 6. If you use the SHOW
PROCESS command and name a process that is the current process on a
CPU, SDA temporarily assigns the symbols shown in Table SDA-9 to the
values in the process. You can then refer to those symbols when you use
the FORMAT command.
The default of the SHOW PROCESS command provides information taken from
the software process control block (PCB).13 This information
describes the following characteristics of the process:
- Software context
- Condition-handling information
- Information about interprocess communication
- Information about counts, quotas, and resource usage
Among the displayed information are the PID, EPID, priority, job
information block (JIB) address, and process header (PHD) address of
the process. SHOW PROCESS also describes the resources owned by the
process, such as event flags and mutexes. The "State" field
records the current scheduling state of the process; in a
multiprocessing system, the display indicates the CPU ID of any process
whose state is CUR.
The SHOW PROCESS/ALL command displays additional process-specific
information, also provided by several of the individual qualifiers to
the command.
The process header display, also produced by the /PHD
qualifier, provides information taken from the process header (PHD),
which is swapped into memory when the process becomes part of the
balance set. Each item listed in the display reflects a quantity,
count, or limit for the process's use of the following resources:
- Process memory
- The pager
- The scheduler
- Asynchronous system traps
- I/O activity
- CPU activity
The process registers display, also produced by the
/REGISTERS qualifier, describes the hardware context of the context, as
reflected in its registers.
The hardware context of a process is stored in two places:
- If the process is currently executing on a processor in the system
(that is, in the CUR scheduling state),
its hardware context is contained in that processor's registers. (That
is, the registers of the process and the registers of the processor
contain identical values, as illustrated by a SHOW CPU command for that
processor or a SHOW CRASH command if the process was current at the
time of the system failure.)
- If the process is not executing, its hardware context is stored in
the part of the PHD known as the hardware PCB.
The process registers display first lists those
registers stored in the hardware PCB ("Saved process
registers"). If the process to be displayed is currently executing
on a processor in the system, the display then lists the processor's
registers ("Active registers for the current process"). In
each section, the display lists the registers in the following groups:
- General-purpose registers (R0 through R11 and the AP, FP, and PC)
- Stack pointers (KSP, ESP, SSP, and USP)
- Special-purpose registers (PC and PSL)
- Base and length registers (P0BR, P1BR, P0LR, and P1LR)
The working set information and working set
list displays, also produced by the /WORKING_SET qualifier,
describe those virtual pages that the process can access without a page
fault. After a brief description of the size, scope, and
characteristics of the working set list itself, SDA displays the
following information for each entry in the working set list.
Column |
Contents |
INDEX
|
Index into the working set list at which information for this entry can
be found
|
ADDRESS
|
Virtual address of the page in the process address space that this
entry describes
|
STATUS
|
Three columns that list the following status information:
- Page type
- Location of the page in physical memory
- Indication of whether the page is locked into the working set
|
When SDA locates one or more unused working set entries, it issues the
following message:
In this message, n is the number (in decimal) of contiguous,
unused entries.
The process section table information and
process section table displays, also produced by the
/PROCESS_SECTION_TABLE qualifier, list each entry in the process
section table (PST) and display the offsets to the first free entry and
last used entry.
SDA displays the information listed in Table SDA-19 for each PST
entry.
Table SDA-19 Process Section Table Entry Information in the SHOW PROCESS Display
Part |
Definition |
INDEX
|
Offset into the PST at which the entry is found. Because entries in the
process section table begin at the highest location in the table, and
the table expands toward lower addresses, the following expression
determines the address of an entry in the table: PHD +
PSTBASOFF---INDEX.
|
ADDRESS
|
Virtual address that marks the beginning of the first page of the
section described by this entry.
|
PAGES
|
Length, in pages, of the process section.
|
VBN
|
Virtual block number, the number of the file's virtual block that is
mapped into the section's first page.
|
CLUSTER
|
Cluster size used when faulting pages into this process section.
|
REFCNT
|
Number of pages of this section that are currently mapped.
|
FLINK
|
Forward link, the pointer to the next entry in the PST list.
|
BLINK
|
Backward link, the pointer to the previous entry in the PST list.
|
FLAGS
|
Flags that describe the access that processes have to the process
section.
|
The P0 page table and P1 page table
displays, also produced by the /PAGE_TABLES qualifier, display listings
of the page table entries of the process in the same format as that
produced by the SHOW PAGE_TABLE command (see Tables SDA-16 and
SDA-17).
The process active channels display, the last produced
by SHOW PROCESS/ALL and the only one produced by the /CHANNEL
qualifier, displays the following information for each I/O channel
assigned to the process.
Column |
Contents |
Channel
|
Number of the channel
|
Window
|
Address of the window control block (WCB) for the file if the device is
a file-oriented device; zero otherwise
|
Status
|
Status of the device: "Busy" if the device has an I/O
operation outstanding; blank otherwise
|
Device/file accessed
|
Name of the device and, if applicable, name of the file being accessed
on that device
|
The information listed under the heading "Device/file
accessed" varies from channel to channel and from process to
process. SDA displays certain information according to the conditions
listed in Table SDA-20.
Table SDA-20 Process I/O Channel Information in the SHOW PROCESS Display
Information Displayed1 |
Type of Process |
dcuu:
|
SDA displays this information for devices that are not file structured,
such as terminals, and for processes that do not open files in the
normal way.
|
dcuu:
filespec
|
SDA displays this information only if you are examining a running
system and only if your process has enough privilege to translate the
file-id into the
filespec.
|
dcuu:(
file-id)
filespec
|
SDA displays this information only when you are examining a dump. The
filespec corresponds to the
file-id on the device listed. If you are examining a dump from
your own system, the
filespec is probably valid. If you are examining a dump from
another system, the
filespec is probably meaningless in the context of your system.
|
dcuu:(
file-id)
|
The
file-id no longer points to a valid
filespec, as when you look at a dump from another system; or
the process in which you are running SDA does not have enough privilege
to translate the
file-id into the corresponding
filespec.
|
1This table uses the following formulas to identify the
information displayed:
dcuu:(file-id)filespec where:
dcuu: is the name of the device. file-id is the
RMS file identification. filespec is the full file
specification, including directory name.
Examples
Process index: 001B Name: PUTP1 Extended PID: 27E0011B
----------------------------------------------------------
Process status: 00044001 RES,BATCH,PHDRES
PCB address 803C7710 JIB address 806B9100
PHD address 81F5C400 Swapfile disk address 02002FA1
Master internal PID 0001001B Subprocess count 0
Internal PID 0001001B Creator internal PID 00000000
Extended PID 27E0011B Creator extended PID 00000000
State CUR 00 Termination mailbox 0000
Current priority 3 AST's enabled KES
Base priority 3 AST's active E
UIC [00011,000176] AST's remaining 39
Mutex count 0 Buffered I/O count/limit 12/12
Waiting EF cluster 0 Direct I/O count/limit 18/18
Starting wait time 1B001C1C BUFIO byte count/limit 31968/31968
Event flag wait mask BFFFFFFF # open files allowed left 90
Local EF cluster 0 20000001 Timer entries allowed left 9
Local EF cluster 1 C0000000 Active page table count 0
Global cluster 2 pointer 00000000 Process WS page count 1020
Global cluster 3 pointer 00000000 Global WS page count 233
|
The SHOW PROCESS command displays information taken from the software
PCB of PUTP1, the SDA current process. According to the
"State" field in the display, process PUTP1 is current on CPU
00 in the multiprocessing system.
Process index: 00AD Name: GLOBE Extended PID: 462002AD
----------------------------------------------------------
Process status: 02040001 RES,PHDRES
PCB address 8044E650 JIB address 806E0010
.
.
.
Process header
--------------
First free P0 address 0007D600 Accumulated CPU time 00000559
Free PTEs between P0/P1 276902 CPU since last quantum FFEE
First free P1 address 7FEF2200 Subprocess quota 8
Free page file pages 24234 AST limit 50
Page fault cluster size 16 Process header index 0020
Page table cluster size 2 Backup address vector 00003E12
Flags 0002 WSL index save area 00003980
Direct I/O count 509 PTs having locked WSLs 5
Buffered I/O count 827 PTs having valid WSLs 20
Limit on CPU time 00000000 Active page tables 21
Maximum page file count 25600 Maximum active PTs 26
Total page faults 7589 Guaranteed fluid WS pages 20
File limit 50 Extra dynamic WS entries 698
Timer queue limit 10 Locked WSLE counts array 1CD8
Paging file index 06000000 Valid WSLE counts array 2564
Saved process registers
-----------------------
R0 = 00000001 R1 = 00000000 R2 = 8000CA78 R3 = 8044E6A0
R4 = 8044E650 R5 = 00000000 R6 = 00000000 R7 = 00000003
R8 = 00001F60 R9 = 7FF9FB38 R10 = 7FF9FA08 R11 = 7FFE0070
AP = 7FEF4AE4 FP = 7FEF4AEC PC = 801622B4 PSL = 03C00000
KSP = 7FFE7E00 ESP = 7FFE9E00 SSP = 7FFED04E USP = 7FEF4AE4
P0BR = 82D43600 P0LR = 000003EB P1BR = 82654E00 P1LR = 001FF792
Active registers for current process
------------------------------------
R0 = 00000001 R1 = 80002398 R2 = 00000000 R3 = 00000000
R4 = 7FFA05A0 R5 = 00000000 R6 = 0007D400 R7 = 00000010
R8 = 00001F60 R9 = 7FF9FB38 R10 = 7FF9FA08 R11 = 7FFE0070
AP = 7FFE9D70 FP = 7FFE9D58 PC = 801620A5 PSL = 01400000
KSP = 7FFE7E00 ESP = 7FFE9D58 SSP = 7FFED04E USP = 7FEF4AE4
Working set information
-----------------------
First WSL entry 0074 Current authorized working set size 2048
First locked entry 00A6 Default (initial) working set size 512
First dynamic entry 00B9 Maximum working set allowed (quota) 2048
Last entry replaced 018C
Last entry in list 0561
Working set list
----------------
INDEX ADDRESS STATUS
0074 7FFE7C00 VALID PROCESS WSLOCK
0075 7FFE7A00 VALID PROCESS WSLOCK
0076 7FFE7800 VALID PROCESS WSLOCK
.
.
.
Process section table information
---------------------------------
Last entry allocated FFA0
First free PST entry 0000
Process section table
---------------------
INDEX ADDRESS PAGES WINDOW VBN CLUSTER CHANNEL REFCNT FLINK BLINK FLAGS
FFF8 00000200 0000000A 8082C400 00000002 0 7FFCCFD0 10 FFE8 FFF0
FFF0 00001600 00000007 8082C400 0000000C 0 7FFCCFD0 0 FFF8 FFE8 WRT CRF
FFE8 00002400 00000012 8082C400 00000013 0 7FFCCFD0 18 FFF0 FFF8
.
.
.
P0 page table
-------------
ADDRESS SVAPTE PTE TYPE PROT BITS PAGTYP LOC STATE TYPE REFCNT BAK SVAPTE FLINK BLINK
-------- 1 NULL PAGE
00000200 82D43604 F9804F73 VALID UR U PROCESS ACTIVE 07 00 1 0040FFF8 82D43604 0000 0153
00000400 82D43608 F9806905 VALID UR U PROCESS ACTIVE 07 00 1 0040FFF8 82D43608 0000 0154
00000600 82D4360C F9807569 VALID UR U PROCESS ACTIVE 07 00 1 0040FFF8 82D4360C 0000 0155
.
.
.
P1 page table
-------------
ADDRESS SVAPTE PTE TYPE PROT BITS PAGTYP LOC STATE TYPE REFCNT BAK SVAPTE FLINK BLINK
7FEF2400 82E52C48 21800000 DZERO UW U
7FEF2600 82E52C4C 21800000 DZERO UW U
7FEF2800 82E52C50 21800000 DZERO UW U
.
.
.
Process active channels
-----------------------
Channel Window Status Device/file accessed
------- ------ ------ --------------------
0010 00000000 ROCK$DJA233:
0020 8082C400 ROCK$DJA233:(1008,48490,0)
0030 807F2260 LOVE$DUA200:(209,1,0)[V5COMMON.SYSLIB]SMGSHR.EXE;1 (section file)
0040 00000000 VTA71:
0050 00000000 VTA71:
0060 807EFFE0 LOVE$DUA200:(195,1,0)[V5COMMON.SYSLIB]LIBRTL.EXE;1 (section file)
0070 807EECC0 LOVE$DUA200:(199,1,0)[V5COMMON.SYSLIB]MTHRTL.EXE;1 (section file)
0080 80838E80 LOVE$DUA200:(196,1,0)[V5COMMON.SYSLIB]LIBRTL2.EXE;1
0090 807E4880 LOVE$DUA200:(210,1,0)[V5COMMON.SYSLIB]SORTSHR.EXE;1
00A0 80818720 LOVE$DUA200:(191,1,0)[V5COMMON.SYSLIB]FDLSHR.EXE;1
00B0 8083CFC0 LOVE$DUA200:(169,1,0)[V5COMMON.SYSLIB]CONVSHR.EXE;1
00C0 8083DEC0 ROCK$DJA233:(1026,16,0)
|
The SHOW PROCESS/ALL command displays information taken from the
software PCB of process GLOBE, and then proceeds to display the process
header, the registers of the process, the process section table, the P0
page table, the P1 page table, and information about the I/O channels
owned by the process. You can also obtain these displays by using the
/PCB, /PHD, /REGISTERS, /PROCESS_SECTION_TABLE, /P0, /P1, and /CHANNEL
qualifiers, respectively.
#3 |
SDA> SHOW PROCESS/LOCKS/INDEX=0A
|
Lock data:
Lock id: 09960A0F PID: 0001000A Flags: VALBLK CONVERT SYNCSTS
Par. id: 00000000 Granted at PW SYSTEM
Sublocks: 100
LKB: 8082B0E0
Resource: 003C0248 24534D52 RMS$H.<. Status: ASYNC
Length 26 444B4C4F 46020000 ...FOLKD
Kernel mode 00202020 20202024 $ .
System 00000000 00000000 ........
Local copy
|
Note
11 Use of the
process-name parameter, the /INDEX qualifier, or the
/SYSTEM qualifier causes the SHOW PROCESS command to perform an
implicit SET PROCESS command, making the indicated process the current
process for subsequent SDA commands. (See the description of the SET
PROCESS command and Section 4 for information about how this can
affect the process context---and CPU context---in which SDA commands
execute.)
12 Use of the
process-name parameter, the /INDEX qualifier, or the
/SYSTEM qualifier causes the SHOW PROCESS command to perform an
implicit SET PROCESS command, making the indicated process the current
process for subsequent SDA commands. (See the description of the SET
PROCESS command and Section 4 for information about how this can
affect the process context---and CPU context---in which SDA commands
execute.)
13 This is the first display provided
by the /ALL qualifier and the only display provided by the /PCB
qualifier.
|
|