Document revision date: 30 March 2001

## OpenVMS Alpha System Analysis Tools Manual

Previous | Contents | Index

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 4-2 for a list of keywords that may be supplied 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.

#### /SECTION_INDEX=n

When used with the /PAGE_TABLES qualifier, displays the page table for the range of pages in the specified process section. One of the qualifiers /L1, /L2, or /L3 can also be specified.

When used with the /PROCESS_SECTION_TABLE qualifier, displays the PST for the specified process section.

The /SECTION_INDEX=n qualifier is ignored if you do not specify either the /PAGE_TABLES or the /PROCESS_SECTION_TABLE qualifier.

#### /SEMAPHORE

Displays the Inner Mode Semaphore for a multithreaded process.

#### /SYSTEM

Displays the system process control block. 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 2.5 for information on how this can affect the process context---and CPU context---in which SDA commands execute.) The system PCB and process header (PHD) parallel the data structures that describe processes. They contain the system working set, global section table, global page table, and other systemwide data.

#### /THREADS

Displays the software and hardware context of all the threads associated with the current process.

#### /WORKING_SET_LIST [={PPT|PROCESS|LOCKED|GLOBAL|MODIFIED|n}]

Displays the contents of the requested entries of the working set list for the process. If you do not specify an option, then all working set list entries are displayed. Table 4-16 shows the options available with SHOW PROCESS/WORKING_SET_LIST.

Table 4-16 Options for the /WORKING_SET_LIST Qualifier
Options | Results
--- | ---
PPT | Displays process page table pages
PROCESS | Displays process private pages
LOCKED | Displays pages locked into the process's working set
GLOBAL | Displays global pages currently in the working set of the process
MODIFIED | Displays working set list entries marked modified
n | Displays a specific working set list entry, where n is the working set list index (WSLX) of the entry of interest

### Description

> The SHOW PROCESS command displays information about the process specified by process-name, the process specified in the /INDEX qualifier, the system process, or all processes. The SHOW PROCESS command performs an implicit SET PROCESS command under certain uses of its qualifiers and parameters, as noted previously. By default, the SHOW PROCESS command produces information about the SDA current process, as defined in Section 2.5.

> The default of the SHOW PROCESS command provides information taken from the software process control block (PCB) and the kernel threads block (KTB) of the SDA current thread. This is the first display provided by the /ALL qualifier and the only display provided by the /PCB qualifier. This information describes the following characteristics of the process:

> - Software context
> - Condition-handling information
> - Information on interprocess communication
> - Information on counts, quotas, and resource usage

> Among the displayed information are the process PID, EPID, priority, job information block (JIB) address, and process header (PHD) address. SHOW PROCESS also describes the resources owned by the process, such as event flags and mutexes. The "State" field records current scheduling state for the thread, and indicates the CPU ID of any thread whose state is CUR.

> The /THREADS qualifier (also part of SHOW PROCESS/ALL), displays information from the KTBs of all threads in the process, instead of only the SDA current thread.

> The SHOW PROCESS/ALL command displays additional process-specific information, also provided by several of the individual qualifiers to the command.

> The process registers display, also produced by the /REGISTERS qualifier, describes the process hardware context, as reflected in its registers. The registers displayed are those of the SDA current thread, or of all threads if either the /THREADS or the /ALL qualifier have been specified.

> There are two places where a process hardware context is stored:

> - If the process is currently executing on a processor in the Alpha system (that is, in the CUR scheduling state), its hardware context is contained in that processor's registers. (That is, the process registers and the processor's registers 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 privileged hardware context is stored in the part of the PHD known as the HWPCB. Its integer register context is stored on its kernel stack. Its floating-point registers are stored in its PHD.

> The process registers display first lists those registers stored in the HWPCB, kernel stack, and PHD ("Saved process registers"). If the process to be displayed is currently executing on a processor in the Alpha 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:

> - Integer registers (R0 through R29)
> - Special-purpose registers (PC and PS)
> - Stack pointers (KSP, ESP, SSP, and USP)
> - Page table base register (PTBR)
> - AST enable and summary registers (ASTEN and ASTSR)
> - Address space number register (ASN)

> The semaphore display, also produced by the /SEMAPHORE qualifier, provides information on the inner-mode semaphore used to synchronize kernel threads. The PC history log, recorded if the system parameter SYSTEM_CHECK is enabled, is also displayed.

> The process header display, also produced by the /PHD qualifier, provides information taken from the 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 use of the following resources:

> - Process memory
> - The pager
> - The scheduler
> - Asynchronous system traps
> - I/O activity
> - CPU activity

> The working set information and working set list displays, also produced by the /WORKING_SET_LIST 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 information for each entry in the working set list as shown in Table 4-17.

> Table 4-17 Working Set List Entry Information in the SHOW PROCESS Display
> Column | Contents
> --- | ---
> INDEX | Index into the working set list at which information for this entry can be found
> ADDRESS | Virtual address of the page that this entry describes
> STATUS | Four columns that list the following status information: Page status of VALID Type of physical page (See Table 4-9) Indication of whether the page has been modified Indication of whether the page is locked into the working set

> When SDA locates either one or more unused working set entries, or entries that do not match the specified option, it issues the following message:

>     ---- n entries not displayed

> In this message, n is the number (in decimal) of contiguous entries not displayed.

> The process section table information and process section table displays, also produced by the /PROCESS_SECTION_TABLE or /PST qualifier, list each entry in the process section table (PST) and display the offsets to, and the indexes of, the first free entry and last used entry.

> SDA displays the information listed in Table 4-18 for each PST entry.

> Table 4-18 Process Section Table Entry Information in the SHOW PROCESS Display
> Part | Definition
> --- | ---
> INDEX | Index number of the entry. Entries in the process section table begin at the highest location in the table, and the table expands toward lower addresses.
> ADDRESS | Address of the process section table entry.
> SECTION ADDRESS | Virtual address that marks the beginning of the first page of the section described by this entry.
> PAGELETS | Length of the process section. This is in units of pagelets, except for a PFN-mapped section in which the units are pages.
> WINDOW | Address of the window control block on which the section file is open.
> VBN | Virtual block number. The number of the file's virtual block that is mapped into the section's first page.
> CCB | Address of the channel control block on which the section file is open.
> 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.

> In addition, for each process section that has an associated file, the device and/or filename is displayed. For details of this display, see Table 4-19.

> The regions display, also produced by the either of the /RDE or /REGIONS qualifiers, shows the contents of the region descriptors. This includes the three default regions (P0, P1, P2), plus any others created by the process. A single region will be displayed if its identifier is specified. The information displayed for each region includes the RDE address, the address range of the region, its identifiers and protection, and links to other RDEs.

> If the /PAGE_TABLE or /PPT qualifer is given with /RDE or /REGION, the page table for the region(s) are also displayed, as described below.

> The P0 page table, P1 page table, P2 page table, and PT page table displays, also produced by the /PAGE_TABLES qualifier, display listings of the process page table entries in the same format as that produced by the SHOW PAGE_TABLE command (see Tables 4-5 through Table 4-10).

> The RMS display, also produced by the /RMS qualifier, provides information on the RMS internal data structures for all RMS-accessed open files. The data structures displayed depend on the current setting of RMS options, as described under the SET RMS command and Table 4-2.

> The locks display, also produced by the /LOCKS qualifier, provides information on the locks held by the process. For a full description of the information displayed for process locks, see the SHOW LOCKS command and Table 4-4. The /BRIEF qualifier may also be specified, giving a single line summary of each process lock; however, no other qualifiers from SHOW LOCKS apply to SHOW PROCESS/LOCKS.

> The process active channels display, also 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 4-19.

> Table 4-19 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.
> section file | The file in question is mapped into the process's memory.

1This table uses the following conventions 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.

The images display, also produced by the /IMAGES qualifier, describes the activated images in the process. SDA displays the information listed in Table 4-20 for each image, plus a summary line giving the total image and total page counts.

Table 4-20 Image Information in the SHOW PROCESS Display
Item | Description
--- | ---
Image Name | The name of the image.
Link Time 1 | The date and time the image was linked.
Section Type 1 | For shareable images, the data for each image section is displayed on a separate line. For privileged shareable images, data for the change mode vector is also displayed on a separate line.
Start | Start address of the image in process memory. For resident shareable images, this is the start address of the process-space portion of the image.
End | End address of the image in process memory. For resident shareable images, this is the end address of the process-space portion of the image.
Type | The image type and/or activation method, plus "PROT" for protected images and "SHR" for shareable images.
IMCB | The address of the Image Management Control Block.
Sym Vect 1 | The address of the image's symbol vector, if any.
Maj,Minor ID 1 | The major and minor revision IDs for the image.
Base 1 | For shareable images, the base address of each image section and/or the change mode vector.
Fnd 1 | For shareable images, the end address of each image section and/or the change mode vector.
ImageOff 1 | For shareable images, the virtual offset within the image file for each image section.

1These items are only displayed with SHOW PROCESS/IMAGE=ALL or SHOW PROCESS/ALL.

The buffer objects display, also produced by the /BUFFER_OBJECTS qualifier, describes the buffer objects in use by the process. Information displayed by SDA for each buffer object includes its address, access mode, size, flags, plus the base virtual address of the object in process space and system space.

The fast I/O handles display, also produced by the /FANDLES qualifier, describes the fast I/O handles used by the process. Information displayed by SDA includes the address and size of the fast I/O handle vector header, then the address, corresponding IRP, state, and buffer object handles for each Fast I/O handle, plus information on free vector entries.

The persona display, also produced by the /PERSONA qualifier, describes the Persona status block data structures. The default output of /PERSONA consists of summary information for all personae in use by the process (the PSB address, flags, username) and information for each persona (privilege masks, UIC, and so on). When /PERSONA/RIGHTS is specified (as in SHOW PROCESS/ALL), all the rights currently held and active for each persona are also displayed. When /PERSONA/RIGHTS/AUTHORIZED is specified, all the rights authorized for each persona are displayed instead.

### Examples

#1
    SDA>  SHOW PROCESS
    Process index: 001A   Name: VERIFICATION   Extended PID: 0000051A
    -----------------------------------------------------------------
    Process status:  22040023   RES,PHDRES,INTER
            status2: 00000001   QUANTUM_RESCHED
    PCB address              80613240    JIB address              805B1B40
    PHD address              80C3A000    Swapfile disk address    00000000
    KTB vector address       80D775AC    HWPCB address            81260080
    Callback vector address  00000000    Termination mailbox          0000
    Master internal PID      0005001A    Subprocess count                0
    Creator extended PID     00000000    Creator internal PID     00000000
    Previous CPU Id          00000000    Current CPU Id           00000000
    Previous ASNSEQ  0000000000000001    Previous ASN     000000000000002E
    Initial process priority        4    Delete pending count            0
    # open files allowed left     100    Direct I/O count/limit        150/150
    UIC                [00001,000004]    Buffered I/O count/limit      149/150
    Abs time of last event   005D9941    BUFIO byte count/limit      32128/32128
    ASTs remaining                247    # of threads                    1
    Swapped copy of LEFC0    00000000    Timer entries allowed left     20
    Swapped copy of LEFC1    00000000    Active page table count         0
    Global cluster 2 pointer 00000000    Process WS page count         250
    Global cluster 3 pointer 00000000    Global WS page count            0

    Extended PID: 00000052     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:           02040001
           status2:          00000001

    KTB address              80D772C0    HWPCB address            81260080
    PKTA address             7FFEFFC0    Callback vector address  00000000
    Internal PID             00010012    Callback error           00000000
    Extended PID             00000052    Current CPU id           00000000
    State                       LEF      Flags                    00000000
    Base priority                   4    Current priority                9
    Waiting EF cluster              0    Event flag wait mask     DFFFFFFF
    CPU since last quantum       FFF1    Mutex count                     0
    ASTs active                  NONE

> The SHOW PROCESS command displays information taken from the software PCB of VERIFICATION, the SDA current process. According to the "State" field in the display, process VERIFICATION is in Local Event Flag Wait.

The SHOW PROCESS/ALL command displays information taken from the PCB and KTBs of process ACME_SERVER, and then proceeds to display the process registers, inner mode semaphores, the process header and working set, the process section table, process regions, the page tables of the process, RMS data structures, information about I/O channels owned by the process, images activated by the process, and process persona data structures. These displays may also be obtained using the /PCB, /THREADS, /REGISTERS, /SEMAPHORE, /PHD, /WORKING_SET_LIST, /PST, /RDE, /PAGE=ALL, /RMS, /CHANNELS, /IMAGES=ALL, and PERSONA/RIGHTS quailifiers, respectively. This process had no locks, buffer objects or fast I/O handles to be displayed.

This example displays the page tables of a process whose PCB address is 805E7980.

    4. SDA> SHOW PROCESS/BUFFER_OBJECTS/FANDLES
    Process index: 0022   Name: Milord_RTA1:   Extended PID: 00000062
    -----------------------------------------------------------------

                               Process Buffer Objects
                               ----------------------

    ADDRESS  ACMODE SEQUENCE  REFCNT    PID     PAGCNT      BASE PVA          BASE SVA
    -------- ------ -------- -------- -------- -------- ----------------- -----------------
    8151AE00 User   00000011 00000031 00010022 00000001 00000000.00084000 FFFFFFFF.7DE68000 S2_WINDOW
    814A6CC0 User   00000012 00000009 00010022 00000001 00000000.80000000 FFFFFFFF.7DE66000 S2_WINDOW
    814FBA00 User   00000013 00000009 00010022 00000001 00000000.80000000 FFFFFFFF.FFFFFFFF NOSVA
    81512200 User   00000014 00000009 00010022 00000001 00000000.80028000 FFFFFFFF.7DE64000 S2_WINDOW
    8151A8C0 User   00000015 00000009 00010022 00000001 00000000.80028000 FFFFFFFF.FFFFFFFF NOSVA
    81438580 User   00000016 00000009 00010022 00000001 FFFFFEFB.FF800000 FFFFFFFF.7DE62000 S2_WINDOW
    81464480 User   00000017 00000009 00010022 00000001 FFFFFEFB.FF800000 FFFFFFFF.FFFFFFFF NOSVA
    81416F00 Kernel 00000018 00000001 00010022 00000001 00000000.7FF76000 FFFFFFFF.8120C000 NOQUOTA

                      Fandle Vector Header
                      --------------------

    Address   Maxfix  Real_Size CCB buffer handle
    -------- -------- --------- -----------------
    7FF68290 00000043  00000880 00000018.81416F00

                             Fandles
                             -------

    Address     IRP   fastio_done  Orgfun   Data bo handle     IOSA bo handle        DBYLEN
    -------- -------- ----------- -------- ----------------- ----------------- -----------------
    7FF682B0 815CEF40     set     00020031 00000016.81438580 00000011.8151AE00 00000000.00002000
    7FF682D0 815CE4C0     set     00020030 00000016.81438580 00000011.8151AE00 00000000.00002000
    7FF682F0 815CE200     set     00000031 00000016.81438580 00000011.8151AE00 00000000.00002000
    7FF68310 815D4B80     set     00000030 00000016.81438580 00000011.8151AE00 00000000.00002000
    7FF68330 815D65C0     set     00020031 00000015.8151A8C0 00000011.8151AE00 00000000.00002000
    7FF68350 815D6880     set     00020030 00000015.8151A8C0 00000011.8151AE00 00000000.00002000

       .
       .
       .

    7FF68810 815D6B40     set     00020031 00000013.814FBA00 00000011.8151AE00 00000000.00002000
    7FF68830 815D5880     set     00020030 00000013.814FBA00 00000011.8151AE00 00000000.00002000

                         -----    00000013 free FVEs (IRP = 00000000)              VA   7FF68850
                                                                                   -to- 7FF68A90

    7FF68AB0 815D9840     set     00020031 00000017.81464480 00000011.8151AE00 00000000.00002000
    7FF68AD0 815CD040     set     00020030 00000017.81464480 00000011.8151AE00 00000000.00002000
    7FF68AF0 815CB480     set     00000031 00000017.81464480 00000011.8151AE00 00000000.00002000

The SHOW PROCESS/BUFFER_OBJECTS/FANDLES command displays all the buffered objects and fast I/O handles that a process has created.

Previous | Next | Contents | Index

| privacy and legal statement |
6549PRO_017.HTML