Document revision date: 30 March 2001

## OpenVMS VAX System Dump Analyzer Utility Manual

Previous | Contents | Index

## 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:

>     --- n empty entries

> 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

#1
    SDA> SHOW PROCESS

>     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.

#2
    SDA>  SHOW PROCESS/ALL

>     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.

> Previous | Next | Contents | Index

> | privacy and legal statement |
> 4556PRO_014.HTML