[OpenVMS documentation]
[Site home] [Send comments] [Help with this site] [How to order documentation] [OpenVMS site] [Compaq site]
Updated: 11 December 1998

OpenVMS Alpha System Analysis Tools Manual


Previous Contents Index


Examples

#1

SDA>SHOW PFN_DATA/MAP
System Memory Map 
----------------- 
 
Start PFN   PFN count   Flags 
---------   ---------   ----- 
00000000    000000FA    0009  Console Base 
000000FA    00003306    000A  OpenVMS Base 
00003C00    000003FF    000A  OpenVMS Base 
00003FFF    00000001    0009  Console Base 
00003400    00000800    0010  Galaxy_Shared
      

This example shows the output when the SHOW PFN/MAP command is invoked.

#2

SDA>SHOW PFN 1B5:1C1
      


This example shows the output from SHOW PFN for a range of pages.


SHOW POOL

Displays the contents of the nonpaged dynamic storage pool and the paged dynamic storage pool. You can display part or all of each pool. If no range or qualifiers are specified, the default is SHOW POOL/ALL. Optionally, it displays the nonpaged pool history ring buffer.

Format

SHOW POOL {{range|/ALL (d)|/BAP|/NONPAGED|/PAGED} [/FREE|/HEADER|/SUMMARY|/TYPE=block-type| /SUBTYPE=block-type] |/RING_BUFFER|/STATISTICS [{/NONPAGED|/BAP}]}


Parameter

range

Range of virtual addresses in pool that SDA is to examine. You can express a range using the following syntax:
m:n Range of virtual addresses in pool from m to n
m;n Range of virtual addresses in pool starting at m and continuing for n bytes

Qualifiers

/ALL

Displays the entire contents of memory, except for those portions of memory that are free (available). This is the default behavior of the SHOW POOL command.

/BAP

Displays the contents of the bus-addressable dynamic storage pool currently in use.

/FREE

Displays the entire contents, both allocated and free, of the specified region or regions of pool. Use the /FREE qualifier with a range to show all of the used and free pool in the given range.

/HEADER

Displays only the first 16 longwords of each data block found within the specified region or regions of pool.

/NONPAGED

Displays the contents of the nonpaged dynamic storage pool currently in use.

/PAGED

Displays the contents of the paged dynamic storage pool currently in use.

/RING_BUFFER

Displays the contents of the nonpaged pool history ring buffer if pool checking has been enabled. Entries are displayed in reverse chronological order; that is, most to least recent. This qualifier is mutually exclusive of all other SHOW POOL qualifiers.

/STATISTICS

Displays usage statistics about each lookaside list. For each list, its queue header address, packet size, attempts, fails, and deallocations are displayed. This can be further qualified by using /NONPAGED, or /BAP to only display statistics for a specified pool area.

/SUBTYPE=block-type

Displays the blocks within the specified region or regions of pool that are of the indicated block-type. If SDA finds no blocks of that subtype in the pool region, it displays a blank screen, followed by an allocation summary of the region. For information on block-type, see block-type in the Description section.

/SUMMARY

Displays only an allocation summary for each specified region of pool.

/TYPE=block-type

Displays the blocks within the specified region or regions of pool that are of the indicated block-type. If SDA finds no blocks of that type in the pool region, it displays a blank screen, followed by an allocation summary of the region. For information on block-type, see block-type in the Description section.

Note that qualifiers cannot be used in the same command as some other qualifiers. Regard the first group of qualifiers (/FREE, etc) as filter qualifiers, the second group of qualifiers (/range, etc) as range specifying qualifiers, and the third group as additional exclusive qualifiers.


Description

The SHOW POOL command displays information about the contents of any specified region of pool in an 8-column format. The contents of the full display, from left to right, are listed as follows:

Column 1 contains the type of control block that starts at the virtual address in pool indicated in column 2. If SDA cannot interpret the block type, it displays a block type of "UNKNOWN." Column 3 lists the number of bytes (in decimal) of memory allocated to the block.

The remaining columns contain a dump of the contents of the block, in 4-longword intervals, until the block is complete. Columns 4 through 7 display, from right to left, the contents in hexadecimal; column 8 displays, from left to right, the contents in ASCII. If the ASCII value of a byte is not a printing character, SDA displays a period (.) instead.

For each region of pool it examines, the SHOW POOL command displays an allocation summary. The summary displays the range of addresses used by this region of pool, the address of the header for the free list for this region of pool, and, where applicable, the address of the array of headers for the lookaside lists for this region of pool. Following this is a 4-column table which lists, in column 2, the types of control block identified in the region and records the number of each in column 1. The last two columns represent the amount of the pool region occupied by each type of control block: column 3 records the total number of bytes, and column 4 records the percentage. The summary concludes with an indication of the number of bytes used within the particular pool region, as well as the number of bytes remaining. It provides an estimate of the percentage of the region that has been allocated.

Block-type

Each block of pool has a type field (a byte containing a value in the range of 0-255). Many of these type values have names associated that are defined in $DYNDEF in SYS$LIBRARY:LIB.MLB. The block-type specified in the /TYPE qualifier of the SHOW POOL command can either be the value of the pool type or its associated name.

Some pool block-types have an additional subtype field (also a byte containing a value in the range of 0-255), many of which also have names associated. The block-type specified in the /SUBTYPE qualifier of the SHOW POOL command can either be the value of the pool type or its associated name. However, if given as a value, a /TYPE qualifier (giving a value or name) must also be specified. Note also that /TYPE and /SUBTYPE are interchangeable if the block-type is given by name. Table 4-15 shows several examples.

Table 4-15 /TYPE and /SUBTYPE Qualifier Examples
/TYPE and /SUBTYPE Qualifiers Meaning
/TYPE = CI All CI blocks regardless of subtype
/TYPE = CI_MSG All CI blocks with subtype CI_MSG
/TYPE = MISC/SUBTYPE = 120 All MISC blocks with subtype 120
/TYPE = 0/SUBTYPE = 0 All blocks with TYPE and SUBTYPE both zero


Examples

#1

SDA> SHOW POOL G0BADE00;260
Non-paged dynamic storage pool
------------------------------
                    Dump of blocks allocated from non-paged pool
  
  
CIMSG   FFFFFFFF.80BADE00   144
                                     001000DA 003C0090 0000A900 00036FF0 .o........<.....
                                     D9B3001C 00000000 A0B5001D 35E60017 ...5............
                                     41414141 00000600 65EA0004 00000600 .......e....AAAA
                                     41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAA
                                     41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAA
   .
   .
   .
UNKNOWN FFFFFFFF.80BADE90   112
                                     41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAA
                                     41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAA
                                     41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAA
                                     41414141 41414141 41414141 41414141 AAAAAAAAAAAAAAAA
   .
   .
   .
CIDG    FFFFFFFF.80BADED0   144
                                     807708BB 003B0090 0004D7E0 000008F0 ..........;...w.
                                     61616161 61616161 61616161 016CE87C ..l.aaaaaaaaaaaa
                                     61616161 61616161 61616161 61616161 aaaaaaaaaaaaaaaa
                                     61616161 61616161 61616161 61616161 aaaaaaaaaaaaaaaa
   .
   .
   .
UNKNOWN FFFFFFFF.80BADF60    64
                                     61616161 61616161 61616161 61616161 aaaaaaaaaaaaaaaa
                                     61616161 61616161 61616161 61616161 aaaaaaaaaaaaaaaa
                                     61616161 61616161 61616161 61616161 aaaaaaaaaaaaaaaa
                                     61616161 61616161 61616161 61616161 aaaaaaaaaaaaaaaa
   .
   .
   .
CIDG    FFFFFFFF.80BADFA0   144
                                     807708BB 003B0090 0003FFC0 0004B1B0 ..........;...w.
                                     61616161 61616161 61616161 016CE94C L.l.aaaaaaaaaaaa
                                     61616161 61616161 61616161 61616161 aaaaaaaaaaaaaaaa
                                     61616161 61616161 61616161 61616161 aaaaaaaaaaaaaaaa
   .
   .
   .
UNKNOWN FFFFFFFF.80BAE030    48
                                     61616161 61616161 61616161 61616161 aaaaaaaaaaaaaaaa
                                     61616161 61616161 61616161 61616161 aaaaaaaaaaaaaaaa
                                     61616161 61616161 61616161 61616161 aaaaaaaaaaaaaaaa
  
  
      Start               End              Length
-----------------  -----------------  -----------------
FFFFFFFF.80D0E000  FFFFFFFF.80ECE000  00000000.001C0000
Free list header:                     FFFFFFFF.80C0593C
Lookaside list header array:          FFFFFFFF.80C50378
Summary of Non-Paged Pool contents
----------------------------------
    3  UNKNOWN   =      176  (29%)
    2  CIDG      =      288  (48%)
    1  CIMSG     =      144  (24%)
  
Total space used = 608 out of 608 total bytes, 0 bytes left
  
Total space utilization = 100%
 
      

This example examines 608 (26016) bytes of nonpaged pool, starting at address 80BADE0016, which happens to be the starting address of the CIMSG block listed in the example's output. SDA attempts to identify allocated blocks as it proceeds through the specified region of pool, and displays an allocation summary when it completes the listing.

#2

SDA>  SHOW POOL/PAGED/HEADER
Paged dynamic storage pool
--------------------------
                    Dump of blocks allocated from paged pool
  
  
RSHT    FFFFFFFF.8024FE00   528
                                    802DC710 00380210 00000000 FFFFFF80 ..........8...-.
LNM     FFFFFFFF.80250010    96
                                    8015B847 00400060 802D75A0 00000000 .....u-.`.@.G...
LNM     FFFFFFFF.80250070    48
                                    8015B847 01400030 802500A0 802D7400 .t-...%.0.@.G...
LNM     FFFFFFFF.802500A0    96
                                    8015B847 02400060 802DC170 80250070 p.%.p.-.`.@.G...
LNM     FFFFFFFF.80250100    48
                                    8015B847 00400030 802DC510 802E1B60 `.....-.0.@.G...
   .
   .
   .
 
      

The SHOW POOL/PAGED/HEADER command displays only the name of each block allocated from paged pool, its starting address, its size, and the first 4 longwords of its contents.


SHOW PORTS

Displays those portions of the port descriptor table (PDT) that are port independent.

Format

SHOW PORTS [/qualifier[,...]]


Parameters

None.

Qualifiers

/ADDRESS=pdt-address

Displays the specified port descriptor table (PDT). You can find the pdt-address for any active connection on the system in the PDT summary page display of the SHOW PORTS command. This command also defines the symbol PE_PDT. The connection descriptor table (CDT) addresses are also stored in many individual data structures related to System Communications Services (SCS) connections; for instance, in the path block displays of the SHOW CLUSTER/SCS command.

/BUS=bus-address

Displays bus (LAN device) structure data.

/CHANNEL=channel-address

Displays channel (CH) data.

/DEVICE

Displays the network path description for a channel.

/MESSAGE

Displays the message data associated with a virtual circuit (VC).

/NODE=node

Shows only the virtual circuit block associated with the specific node. When you use the /NODE qualifier, you must also specify the address of the PDT using the /ADDRESS qualifier.

/VC=vc-address

Displays the virtual circuit data.

Description

The SHOW PORTS command provides port-independent information from the port descriptor table (PDT) for those CI ports with full System Communications Services (SCS) connections. This information is used by all SCS port drivers.

Note that the SHOW PORTS command does not display similar information about UDA ports, BDA ports, and similar controllers.

The SHOW PORTS command also defines symbols for PEDRIVER based on the cluster configuration. These symbols include the following information:

The following symbols are defined automatically:

These symbols equate to system addresses for the corresponding data structures. You can use these symbols, or an address, after the equal sign in SDA commands.

The SHOW PORTS command produces several displays. The initial display, the PDT summary page, lists the PDT address, port type, device name, and driver name for each PDT. Subsequent displays provide information taken from each PDT listed on the summary page.

You can use the /ADDRESS qualifier to the SHOW PORTS command to produce more detailed information about a specific port. The first display of the SHOW PORTS/ADDRESS command duplicates the last display of the SHOW PORTS command, listing information stored in the port's PDT. Subsequent displays list information about the port blocks and virtual circuits associated with the port.


Example


SDA> SHOW PORTS/ADDRESS=80618400
              --- Port Descriptor Table (PDT) 80618400 ---
Type: 03 pe
Characteristics: 0000 
             --- Port Block 80618BC0 ---
Status: 0001 authorize
VC Count: 3
Secs Since Last Zeroed: 18635
SBUF Size             516     LBUF Size         1848     Next Refork    1863571
SBUF Count              9     LBUF Count           1     Forks Count     217383
SBUF Max              768     LBUF Max           384     Refork Count         0
SBUF Quo               11     LBUF Quo             1     SCS Messages    198478
SBUF Miss               9     LBUF Miss          249     VC Queue Cnt     12308
SBUF Allocs        205551     LBUF Allocs        598     TQE Received     18635
SBUFs In Use            0     LBUFs In Use         0     Timer Done       18635
Peak SBUF In Use        9     Peak LBUF In Use     2     RWAITQ Count       781
SBUF Queue Empty        0     LBUF Queue Empty     0     LDL Buf/Msg       6218
TR SBUF Queue Empty     0                                                      
No SBUF for ACK         0                                                      
Bus Addr  Bus     LAN Address    Error Count Last Error   Time of Last Error
--------  ---  ----------------- ----------- ---------- -----------------------
80619280  LCL  00-00-00-00-00-00           0
806198C0  ESA  AA-00-04-00-C7-FF           0
             --- Virtual Circuit (VC) Summary ---
VC Addr     Node    SCS ID  Lcl ID    Status Summary        Last Event Time
--------  --------  ------  ------  -----------------   -----------------------
8062A240  FLAM5      65479  223/DF  open,path           31-AUG-1995 17:30:17.05
8062BA40  VANDQ1     64894  222/DE  open,path           31-AUG-1995 17:30:18.87
8062BEC0  ROMRDR     64515  221/DD  open,path           31-AUG-1995 17:30:19.07
 
      

This example illustrates the output produced by the SHOW PORTS command for the PDT at address 80618400.


SHOW PROCESS

Displays the software and hardware context of any process in the balance set.

Format

SHOW PROCESS {[process-name|ALL]
|/ADDRESS=pcb_address|/ID=nn |/INDEX=nn|/SYSTEM}
[/ALL|/BUFFER_OBJECTS|/CHANNEL [=option]
|/FANDLE|/IMAGES
|/INVALID_PFN [=option]|/NONMEMORY_PFN [=option]
|/LOCKS [/BRIEF]|/L1|/L2|/L3
|/PAGE_TABLES|/PCB
|/PERSONA [=address][/RIGHTS [/AUTHORIZED]]
|/PHD|/PROCESS_SECTION_TABLE
|/PTE_ADDRESS|/RDE [=id]
|/REGIONS [=id]
|/REGISTERS|/RMS [=option[,...]]|/SECTION_INDEX=n
|/SEMAPHORE|/THREADS
|/WORKING_SET_LIST]


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. Use of the process-name parameter, the /ADDRESS qualifier, 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. 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 ($). If it contains any other characters, you must enclose the process-name in quotation marks (" ").


Qualifiers

/ADDRESS=pcb-address

Specifies the process control block (PCB) address of a process in order to display information about the process.

/ALL

Displays all information shown by the following qualifiers:

/AUTHORIZED

Used with the /PERSONA/RIGHTS qualifiers. See the /PERSONA/RIGHTS/AUTHORIZED description for the use of the /AUTHORIZED qualifier.

/BRIEF

The /BRIEF qualifier, when used with the /LOCKS qualifier, causes SDA to display each lock owned by the current process in brief format; that is, one line for each lock.

/BUFFER_OBJECTS

Displays all the buffer objects that a process has created.

/CHANNEL [=FID_ONLY]

Displays information about the I/O channels assigned to the process. If the keyword FID_ONLY is given, SDA does not attempt to translate the FID (File ID) to a file name when invoked with ANALYZE/SYSTEM.

/FANDLE

Displays the data on the process's fast I/O handles.

/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. The /IMAGES qualifier also displays the base, end, image offset, and section type for installed resident images in use by this process.

See the OpenVMS Linker Utility Manual and the Install utility chapter in the OpenVMS System Management Utilities Reference Manual for more information on images installed using the /RESIDENT qualifier.

/ID=nn

/INDEX=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), or by its process identification (ID). You can supply the following values for nn:

To obtain these values for any given process, issue the SDA command SHOW SUMMARY. The /ID=nn and /INDEX=nn qualifiers can be used interchangeably.

/INVALID_PFN [=option]

See the /PAGE_TABLES qualifier description for an explanation of /INVALID_PFN.

/LOCKS [/BRIEF]

Displays the lock management locks owned by the current process.

The /LOCKS [/BRIEF] qualifier produces a display similar in format to that produced by the SHOW LOCK command. See also the /BRIEF qualifier description. Also, Table 4-4 contains additional information.

/NONMEMORY_PFN [=option]

See the /PAGE_TABLES qualifier description for an explanation of /NONMEMORY_PFN.

/PAGE_TABLES

The /PAGE_TABLES qualifier has the following format:


/PAGE_TABLES {range|[/P0(d)|/P1|/P2|/PT] 
                       |/RDE=id|/REGIONS=id
                       |/SECTION_INDEX=n|=ALL} 
                       [/PTE_ADDRESS] 
                       [/INVALID_PFN [={READONLY|WRITABLE}] 
                       [/NONMEMORY_PFN [={READONLY|WRITABLE}]                       
                       {/L1|/L2|/L3(d)} 
                       
Displays the page tables of the process P0 (process), P1 (control), P2, or PT (page table) region, or, optionally, page table entries for a range of addresses. The page table entries at the level specified by /L1, /L2, or /L3 (the default) are displayed.

The /RDE=id or /REGIONS=id displays the page tables for the address range of the specified address region. When no ID is specified, the page tables are displayed for all the process-permanent and user-defined regions.

You can express a range using the following syntax:
m Displays the single page table entry that corresponds to virtual address m
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 bytes, starting at virtual address m
=ALL Displays the entire page table for the process from address zero to the end of process-private page table space by using /PAGE_TABLES=ALL.

The /PTE_ADDRESS qualifier causes SDA to treat the specified range as PTE addresses instead of virtual addresses.

The /SECTION_INDEX=n qualifier causes SDA to display the page table entries for the pages in the specified process section.

The /INVALID_PFN qualifier which is valid on platforms that supply an I/O memory map, causes SDA to display only page table entries that map to PFNs that are not in the system's private memory, nor in Galaxy shared memory, nor are I/O access pages.

The /NONMEMORY_PFN qualifier, supported on all platforms, causes SDA to display only page table entries that are neither in the system's private memory nor in Galaxy shared memory.

Both /INVALID_PFN and /NONMEMORY_PFN qualifiers allow two optional keywords, READONLY and WRITABLE. If neither keyword is given, all relevant pages are displayed. If READONLY is given, only pages marked for no write access are displayed. If WRITABLE is given, only pages that allow write access are displayed. For example, SHOW PROCESS ALL/PAGE_TABLE=ALL/INVALID_PFN=WRITABLE would display all process pages (for all processes) whose protection allows write, but which map to PFNs that do not belong to this system.

/PCB

Displays the information contained in the process control block (PCB). This is the default behavior of the SHOW PROCESS command.

/PERSONA [=address]

Displays all persona security blocks (PSBs) held in the PERSONA ARRAY of the process, and then lists selected information contained in each initially listed PSB. The selected information includes the contents of the following cells inside the PSB:


Previous Next Contents Index

[Site home] [Send comments] [Help with this site] [How to order documentation] [OpenVMS site] [Compaq site]
[OpenVMS documentation]

Copyright © Compaq Computer Corporation 1998. All rights reserved.

Legal
6549PRO_014.HTML