 |
OpenVMS Alpha System Analysis Tools Manual
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.
|