|
HP OpenVMS System Analysis Tools Manual
SHOW SUMMARY
Displays a list of all active processes and the values of the
parameters used in swapping and scheduling these processes.
Format
SHOW SUMMARY [/IMAGE | /PAGES | /PROCESS_NAME=process_name
| /TOTALS | /THREAD | /USER=username]
Parameters
None.
Qualifiers
/IMAGE
Causes SDA to display, if possible, the name of the image being
executed within each process.
/PAGES
Outputs an additional line for each process, displaying the number of
process-private pages and the number of global pages in the process's
working set.
/PROCESS_NAME=process_name
Displays only processes with the specified process name. You can use
wildcards in process_name, in which case SDA displays all
matching processes. The default action is for SDA to display data for
all processes, regardless of process name.
/TOTALS
At the end of the list of active processes, SDA will output two sets of
totals:
- The total number of process-private and global pages in the
working sets of all processes. The totals for resident and non-resident
processes are displayed separately.
- The total number of processes (or, if /THREADS was also specified,
the total number of kernel threads) in each scheduling state. The
totals for resident and non-resident processes or kernel threads are
displayed separately.
/THREAD
Displays information on all the kernel threads associated with the
current process.
/USER=username
Displays only the processes of the specified user. You can use
wildcards in username, in which case SDA displays processes of
all matching users. The default action is for SDA to display data for
all processes, regardless of user name.
Description
The SHOW SUMMARY command displays the information in Table 4-30 for
each active process in the system.
Table 4-30 Process Information in the SHOW SUMMARY Display
Column |
Contents |
Extended PID
|
The 32-bit number that uniquely identifies the process or thread.
|
Indx
|
Index of this process into the PCB array. When SHOW SUMMARY/THREAD is
used, for all threads of a process other than the initial thread,
displays the thread number.
|
Process name
1
|
Name assigned to the process.
|
Username
1
|
Name of the user who created the process.
|
State
|
Current state of the process. Table 4-31 shows the 14 states and
their meanings.
|
Pri
|
Current scheduling priority of the process.
|
PCB/KTB
|
Address of the process control block or address of the kernel thread
block.
|
PHD
1
|
Address of the process header.
|
Wkset
1
|
Number (in decimal) of pages currently in the process working set.
|
1When SHOW SUMMARY/THREAD is used, this column is blank for
all threads other than the initial thread.
Table 4-31 Current State Information
State |
Meaning |
COM
|
Computable and resident in memory
|
COMO
|
Computable, but outswapped
|
CUR
nnn
|
Currently executing on CPU ID
nnn
|
CEF
|
Waiting for a common event flag
|
LEF
|
Waiting for a local event flag
|
LEFO
|
Outswapped and waiting for a local event flag
|
HIB
|
Hibernating
|
HIBO
|
Hibernating and outswapped
|
SUSP
|
Suspended
|
SUSPO
|
Suspended and outswapped
|
PFW
|
Waiting for a page that is not in memory (page-fault wait)
|
FPG
|
Waiting to add a page to its working set (free-page wait)
|
COLPG
|
Waiting for a page collision to be resolved (collided-page wait); this
usually occurs when several processes cause page faults on the same
shared page
|
MWAIT
|
Miscellaneous wait
|
RWxxx
1
|
Waiting for system resource
xxx
|
TBS
1
|
Waiting "To Be Scheduled" by class scheduler
|
TBSO
1
|
Waiting "To Be Scheduled" and outswapped
|
TBSP
1
|
"To Be Scheduled" state is pending
|
TBSPO
1
|
"To Be Scheduled" state is pending and outswapped
|
WTBYT
1
|
Waiting for BYTCNT quota
|
WTTQE
1
|
Waiting for TQCNT quota
|
1These states represent additional interpretation by SDA of
one of the 14 scheduler states.
Examples
#1 |
SDA> SHOW SUMMARY
Current process summary
-----------------------
Extended Indx Process name Username State Pri PCB/KTB PHD Wkset
-- PID -- ---- --------------- ----------- ------- --- -------- -------- ------
00000041 0001 SWAPPER HIB 16 80C641D0 80C63E00 0
00000045 0005 IPCACP SYSTEM HIB 10 80DC0780 81266000 39
00000046 0006 ERRFMT SYSTEM HIB 8 80DC2240 8126C000 57
00000047 0007 OPCOM SYSTEM HIB 8 80DC3340 81272000 31
00000048 0008 AUDIT_SERVER AUDIT$SERVER HIB 10 80D61280 81278000 152
00000049 0009 JOB_CONTROL SYSTEM HIB 10 80D620C0 8127E000 50
0000004A 000A SECURITY_SERVER SYSTEM HIB 10 80DC58C0 81284000 253
0000004B 000B TP_SERVER SYSTEM HIB 10 80DC8900 8128A000 75
0000004C 000C NETACP DECNET HIB 10 80DBFE00 8125A000 78
0000004D 000D EVL DECNET HIB 6 80DCA080 81290000 76
0000004E 000E REMACP SYSTEM HIB 8 80DE4E00 81296000 14
00000050 0010 DECW$SERVER_0 SYSTEM HIB 8 80DEF940 812A2000 739
00000051 0011 DECW$LOGINOUT <login> LEF 4 80DF0F00 812A8000 273
00000052 0012 SYSTEM SYSTEM LEF 9 80D772C0 81260000 75
|
The SHOW SUMMARY command describes all active processes in the system
at the time of the system failure. Note that there was no process in
the CUR state at the time of the failure.
#2 |
SDA> SHOW SUMMARY /IMAGE/PAGES/THREADS/TOTALS
Current process summary
-----------------------
Extended Indx Process name Username State Pri PCB/KTB PHD Wkset
-- PID -- ---- --------------- ----------- ------- --- -------- -------- ------
00000201 0001 SWAPPER SYSTEM HIB 16 8230CD48 8230C000 4
Process pages: 4 Global pages: 0
.
.
.
00000212 0012 ACME_SERVER SYSTEM HIB 8 83673540 87740000 553
Process pages: 505 Global pages: 48
$30$DKB400:[SYS0.SYSCOMMON.][SYSEXE]ACME_SERVER.EXE
00000412 1 HIB 10 83684DC0
.
.
.
00000224 0024 LATACP SYSTEM HIB 14 83760BC0 8775C000 170
Process pages: 170 Global pages: 0
$30$DKB400:[SYS0.SYSCOMMON.][SYSEXE]LATACP.EXE
Total Pages Process Global
--------------------- ------------- -------------
Resident Processes 4490 842
Nonresident Processes 0 0
Scheduling Resident Nonresident
State Threads Threads Total
------- ----------- ----------- -----------
LEF 1 0 1
HIB 20 0 20
CUR 1 0 1
------- ----------- ----------- -----------
Total 22 0 22
|
This example shows the output from SHOW SUMMARY when all the qualifiers
(/image /pages /threads /totals) that display additional data are used.
SHOW SWIS (Integrity servers Only)
Displays the SWIS (SoftWare Interrupt Services) data structure
addresses or the SWIS ring buffer.
Format
SHOW SWIS [/RING_BUFFER [/CPU=(m,n,...)]]
Qualifiers
/CPU=(m,n,...)
When used with /RING_BUFFER, displays only the entries for the
specified CPUs. If you specify only one CPU, you can omit the
parentheses.
/RING_BUFFER
Displays the SWIS ring buffer (also known as the SWIS log), with the
most recent entry first, and assigns meaning to certain values, such as
trap type and system service invoked. For best results, execute
READ/EXEC or READ/IMAGE SYS$PUBLIC_VECTORS first so that the system
service codes are recognized.
Example
|
SDA> read/exec
SDA> define ssentry 8692B8F0
SDA> define intstk 8692B9F0
SDA> show swis/ring_buffer
SWIS ring buffer for all CPUs
-----------------------------
8192. entries: Most recent first
Clock Data 1 Data 2 Data 3 CPU Ident *** See below. ***
-------- -------- -------- ----------------- --- --------
2CEDAD3C 82D66400a 83814080 FFFFFFFF.86B04000 00 SWPCXout
2CEDA929 82D66400a 83814080 FFFFF802.0EE370A8 00 SWPCTXin
2CED9F16 0000001F 0000001F FFFFFFFF.8046C270a 00 RaisIPL
2CED928F 8692B8F0a 00000000 FFFFFFFF.8046B760b 00 SSSwRet
2CED8FED 8692B8E0 00000000 0000002C.DC0351F2 00 RetKSrvc
2CED8B2E 8692B8F0a 06900660b FFFFFFFF.8046B760c 00 EntKSrvc
EntKSrvc
2CED72C1 8692B9F0a 00000000 FFFFFFFF.8692BFC0b 00 ExcpDsp2
2CED70B4 8692B9F0a 00000041b FFFFFFFF.80322F50c 00 ExcpDisp
ExcpDisp
2CED6E84 00000001 00000000 00000000.0001001Fa 00 GetDpth
2CED6822 00000016 0000001F FFFFFFFF.80322EB0a 00 RSetIPL
2CED62F0 8692BCF0a 00000003 FFFFFFFF.8066C000b 00 IPDisp
Symbolized value 'a' Symbolized value 'b' & 'c'
--------------------------- -----------------------------------
BUG$GQ_HWPCB
BUG$GQ_HWPCB
EXE$BUGCHECK_SWAPPED_C+000E0
SSENTRY EXE$BUGCHECK_CONTINUE_C+003C0
SSENTRY SYS$RPCC_64_C
EXE$BUGCHECK_CONTINUE_C+003C0
INTSTK INTSTK+005D
INTSTK Bugcheck Breakpoint Trap
SYSTEM_SYNCHRONIZATION_MIN+42F50
LNM$C_DEL_OVERLAY+0001B
SYSTEM_SYNCHRONIZATION_MIN+42EB0
INTSTK+00300 SCH$IDLE_C+00290
.
.
.
|
The SHOW SWIS example displays the most recent entries in the SWIS log
at the time of a system crash. Note the a, b, c alongside the
data values. These indicate which column contains the symbolization for
the value. 'a' is always in the first column; 'b' is in the second
column, and 'c' is also in the second column on the next line. If some
or all data values cannot be symbolized, the columns are left blank or
there is no continuation line.
SHOW SYMBOL
Displays the hexadecimal value of a symbol and, if the value is equal
to an address location, the contents of that location.
Format
SHOW SYMBOL [/ALL [/ALPHA|/VALUE]] [/BASE_ADDRESS=n]
symbol-name
Parameter
symbol-name
Name of the symbol to be displayed. You must provide a
symbol-name, unless you specify the /ALL qualifier.
Symbols that include lowercase letters must be enclosed in quotation
marks. symbol-name may include wildcards unless /ALL
is also specified.
Qualifiers
/ALL
Displays information on all symbols whose names begin with the
characters specified in symbol-name. If no symbol name
is given, all symbols are displayed.
/ALPHA
When used with the /ALL qualifier, displays the symbols sorted only in
alphabetical order. The default is to display the symbols twice, sorted
alphabetically and then by value.
When used with a wildcard symbol name, displays the symbols in
alphabetical order. This is the default action.
/BASE_ADDRESS=n
The given address is added to the value of each matching symbol to
construct the address used when obtaining the contents of the symbol's
location. By default, SDA uses the actual value of the symbol as the
address to be used. See the description of SHOW SYMBOL for more
information.
/VALUE
When used with the /ALL qualifier, displays the symbols sorted only in
value order. The default is to display the symbols twice, sorted
alphabetically and then by value.
When used with a wildcard symbol name, displays the symbols in value
order.
Description
The SHOW SYMBOL command with the /ALL qualifier outputs all symbols
whose names begin with the characters specified in
symbol-name in both alphabetical order and in value
order. If no symbol-name is given, all symbols are
output.
The SHOW SYMBOL/ALL command is useful for determining the values of
symbols that belong to a symbol set, as illustrated in the second
example below.
The SHOW SYMBOL command without the /ALL qualifier allows for standard
wildcards in the symbol-name parameter. By default,
matching symbols are displayed only in alphabetical order. If you
specify SHOW SYMBOL/VALUE, then matching symbols are output sorted by
value. If you specify SHOW SYMBOL/ALPHA/VALUE, then matching symbols
are displayed twice, sorted alphabetically and then by value.
The SHOW SYMBOL command without the /ALL qualifier and no wildcards in
the symbol-name parameter outputs the value associated
with the given symbol.
When displaying any symbol value, SDA also treats the value as an
address (having added the value from /BASE_ADDRESS if specified) and
attempts to obtain the contents of the location. If successful, the
contents are also displayed.
Examples
#1 |
SDA> SHOW SYMBOL G
G = FFFFFFFF.80000000 : 6BFA8001.201F0104
|
The SHOW SYMBOL command evaluates the symbol G as
FFFFFFFF.8000000016 and displays the contents of address
FFFFFFFF.8000000016 as 6BFA8001.201F010416.
#2 |
SDA> SHOW SYMBOL/ALL BUG
Symbols sorted by name
----------------------
BUG$L_BUGCHK_FLAGS = FFFFFFFF.804031E8 : 00000000.00000001
BUG$L_FATAL_SPSAV = FFFFFFFF.804031F0 : 00000000.00000001
BUG$REBOOT = FFFFFFFF.8042E320 : 00000000.00001808
BUG$REBOOT_C = FFFFFFFF.8004F4D0 : 47FB041D.47FD0600
.
.
.
Symbols sorted by value
----------------------
BUG$REBOOT_C = FFFFFFFF.8004F4D0 :47FB041D.47FD0600
BUG$L_BUGCHK_FLAGS = FFFFFFFF.804031E8 :00000000.00000001
BUG$L_FATAL_SPSAV = FFFFFFFF.804031F0 :00000000.00000001
BUG$REBOOT = FFFFFFFF.8042E320 :00000000.00001808
.
.
.
|
This example shows the display produced by the SHOW SYMBOL/ALL command.
SDA searches its symbol table for all symbols that begin with the
string "BUG" and displays the symbols and their values.
Although certain values equate to memory addresses, it is doubtful that
the contents of those addresses are actually relevant to the symbol
definitions in this instance.
SHOW TQE
Displays the entries in the timer queue. The default output is a
summary display of all timer queue entries (TQEs) in chronological
order.
Format
SHOW TQE [/ADDRESS=n] [/ALL] [/BACKLINK] [/PID=n]
[/ROUTINE=n]
Parameters
None.
Qualifiers
/ADDRESS=n
Outputs a detailed display of the TQE at the specified address.
/ALL
Outputs a detailed display of all TQEs.
/BACKLINK
Outputs the display of TQEs, either detailed (/ALL) or brief (default),
in reverse order, starting at the entry furthest into the future.
/PID=n
Limits the display to the TQEs that affect the process with the
specified internal PID. The PID format required is the entire
internal PID, including both the process index and the sequence number,
and not the extended PID or process index alone, as used elsewhere in
SDA. You can also display TQEs specific to a process using SHOW
PROCESS/TQE.
/ROUTINE=n
Limits the display to the TQEs for which the specified address is the
fork PC.
Description
The SHOW TQE command allows the timer queue to be displayed. By default
a summary display of all TQEs is output in chronological order,
beginning with the next entry to become current.
The /ADDRESS, /PID, and /ROUTINE qualifiers are mutually exclusive. The
/ADDRESS and /BACKLINK qualifiers are mutually exclusive.
In the summary display, the TQE type is given as a six-character code,
as shown in Table 4-32.
Table 4-32 TQE Types in Summary TQE Display
Column |
Symbol |
Meaning |
1
|
T
|
Timer ($SETIMR) entry
|
|
S
|
System subroutine entry
|
|
W
|
Scheduled wakeup ($SCHDWK) entry
|
2
|
S
|
Single-shot entry
|
|
R
|
Repeated entry
|
3
|
D
|
Delta time
|
|
A
|
Absolute time
|
4
|
C
|
CPU time
|
|
--
|
Elapsed time
|
5
|
E
|
Extended format (64-bit TQE)
|
|
--
|
32-bit TQE
|
6
|
N
|
TQE not to be deallocated at AST completion
|
|
--
|
TQE to be deallocated at AST completion
|
Examples
1. SDA> SHOW TQE
Timer queue entries
-------------------
System time: 15-NOV-2001 15:09:06.92
First TQE time: 15-NOV-2001 15:09:06.92
TQE PID/
address Expiration Time Type routine
-------- ----------------------------------------- ------ --------
815AB8C0 00A0516F.EF279B0F 15-NOV-2001 15:09:06.92 SSD--- 835FCC48 TCPIP$INTERNET_SERVICES+9EC48
812CB3C0 00A0516F.EF279B0F 15-NOV-2001 15:09:06.92 SRD--- 812CCEC8 SYS$PPPDRIVER+0EEC8
81514140 00A0516F.EF29FD5F 15-NOV-2001 15:09:06.94 TSD--- 0001000F SECUURITY_SERVER
815C8040 00A0516F.EF2B2E87 15-NOV-2001 15:09:06.95 SRD--- 81361BA0 SYS$LTDRIVER+31BA0
8148CF98 00A0516F.EF2C52AD 15-NOV-2001 15:09:06.95 SRD--- 812786B0 LAN$CREATE_LAN+000B0
81318290 00A0516F.EF2FDC84 15-NOV-2001 15:09:06.98 SRD--- 813187B8 PWIPDRIVER+047B8
814FB080 00A0516F.EF3238D0 15-NOV-2001 15:09:06.99 TSD--- 0001000F SECURITY_SERVER
8140FF40 00A0516F.EF32851A 15-NOV-2001 15:09:06.99 TSD--- 0001000F SECURITY_SERVER
...
81503100 00A05177.0AED8000 15-NOV-2001 16:00:00.00 TSA--- 0001000C JOB_CONTROL
815030C0 00A0C160.63CD14D9 7-APR-2002 02:00:00.91 TSA--- 0001000C JOB_CONTROL
|
This example shows the summary display of all TQEs.
2. SDA> SHOW TQE/ADDRESS=898DA1A8
Timer queue entry 898DA1A8
--------------------------
TQE address: 898DA1A8 Type: 00000005 SYSTEM_SUBROUTINE REPEAT
Requestor process ID: 00000000 Access mode: 00000000
Expiration time: 00A97229.C9E5FF60 6-JAN-2010 07:24:47.06 +20000
Delta repeat time: 00000000.00030D40 0 00:00:00.02
Fork PC: 88520460 SYS$GHDRIVER+50260
Fork R3: 898D9540.00000000
Fork R4: 00000000.00000000
|
This example shows the detailed display for a single TQE.
SHOW TQEIDX
Displays the contents of the timer queue entry index (TQEIDX)
structures. The default display is a summary of all TQEIDX structures.
Format
SHOW TQEIDX [/ADDRESS=address | /ALL]
Parameters
None.
Qualifiers
/ADDRESS=address
Causes SDA to output a detailed display of the contents of the TQEIDX
at the specified address. Cannot be specified with /ALL.
/ALL
Causes SDA to output a detailed display of the contents of all TQEIDX
structures. Cannot be specified with /ADDRESS.
Description
The SHOW TQEIDX command allows the timer queue entry index structures
to be displayed. The default display is a summary of all TQEIDX
structures. The /ADDRESS and /ALL qualifiers are mutually exclusive.
Examples
1. SDA> show tqeidx
Timer queue index buckets
-------------------------
Time index buckets
------------------
TQEIDX Free
address Level Parent count Maximum key
-------- -------- -------- -------- -----------------
872B6700 00000001 00000000 0000003C FFFFFFFF.FFFFFFFF
875ED640 00000000 872B6700 00000005 00A39404.827C01CF
87312E80 00000000 872B6700 00000032 00A39A11.9DABF957
8726A300 00000000 872B6700 0000003D FFFFFFFF.FFFFFFFF
Time index overflow list is empty
ID index buckets
----------------
TQEIDX Free
address Level Parent count Maximum key
-------- -------- -------- -------- -----------------
872AF900 00000001 00000000 0000003D FFFFFFFF.FFFFFFFF
86C29C80 00000000 872AF900 00000016 0002C000.83374030
872FD780 00000000 872AF900 0000001F FFFFFFFF.FFFFFFFF
ID index overflow list is empty
|
This example shows the summary TQEIDX display.
|