Document revision date: 30 March 2001

## OpenVMS Alpha System Analysis Tools Manual

Previous | Contents | Index

## SHOW LOCKS

> Displays information about all lock management locks in the system, or about a specified lock.

### Format

> SHOW LOCKS {lock-id|/ADDRESS=n|/ALL (d)|
> /BLOCKING|/BRIEF|/CACHED|/CONVERT|/GRANTED
> |/NAME=name|/POOL|
> /STATUS=(keyword [,keyword...])|/SUMMARY|
> /WAITING}

### Parameter

> #### lock-id

> Name of a specific lock.

### Qualifiers

> #### /ADDRESS=n

> Displays a specific lock, given the address of the lock block.

> #### /ALL

> Lists all locks that exist in the system. This is the default behavior of the SHOW LOCK command.

> #### /BLOCKING

> Displays only the locks that have a blocking AST specified or attached.

> #### /BRIEF

> Displays a single line of information for each lock.

> #### /CACHED

> Displays locks that are no longer valid. The memory for these locks is saved so that later requests for locks can use them. Cached locks are not displayed in the other SHOW LOCK commands.

> #### /CONVERT

> Displays only the locks that are on the conversion queue.

> #### /GRANTED

> Displays only the locks that are on the granted queue.

> #### /NAME=name

> Displays a specified lock with the given name.

> #### /POOL

> Displays the lock manager's poolzone information, which contains the lock blocks (LKB) and resource blocks (RSB).

> #### /STATUS=(keyword[,keyword...])

> Displays only the locks that have the specified status bits set in the LKB$L_STATUS field. Status keywords are as follows:

> Keyword | Meaning
> --- | ---
> 2PC_IP | Indicates a two-phase operation in progress
> 2PC_PEND | Indicates a two-phase operation pending
> ASYNC | Completes request asynchronously
> BLKASTFLG | Specifies a blocking AST
> BLKASTQED | Indicates a blocking AST is queued
> BRL | Indicates a byte range lock
> CACHED | Indicates a lock block in cache
> CVTSUBRNG | Indicates a sub-range convert request
> CVTTOSYS | Converts back to system-owned lock
> DBLKAST | Delivers a blocking AST
> DCPLAST | Delivers a completion AST
> DPC | Indicates a delete pending cache lock
> FLOCK | Indicates a fork lock
> GRSUBRNG | Grants sub-range lock
> IP | Indicates operation in process
> MSTCPY | Indicates a lock block is a master copy
> NEWSUBRNG | Indicates a new sub-range request
> NOQUOTA | Does not charge quota
> PCACHED | Indicates lock block needs to be cached
> PROTECT | Indicates a protected lock
> RESEND | Resends during failover
> RM_RBRQD | Requires remaster rebuild
> RNGBLK | Specifies a range block
> RNGCHG | Indicates a changing range
> TIMOUTQ | Indicates lock block is on timeout queue
> VALBLKRD | Indicates read access to lock value block
> VALBLKWRT | Indicates write access to lock value block
> WASSYSOWN | Indicates was system-owned lock

> #### /SUMMARY

> Displays summary data and performance counters.

> #### /WAITING

> Displays only the waiting locks.

### Description

> The SHOW LOCKS command displays the information described in Table 4-4 for each lock management lock in the system, or for the lock indicated by lock-id, an address or name. (Use the SHOW SPINLOCKS command to display information about spinlocks.) You can obtain a similar display for the locks owned by a specific process by issuing the appropriate SHOW PROCESS/LOCKS command. See the OpenVMS Programming Concepts Manual for additional information.

> You can display information about the resource to which a lock is queued by issuing the SHOW RESOURCES command specifying the resource's lock-id.

> Table 4-4 Contents of the SHOW LOCK and SHOW PROCESS/LOCKS Displays
> Display Element | Description
> --- | ---
> Process Index 1 | Index in the PCB array to a pointer to the process control block (PCB) of the process that owns the lock.
> Name 1 | Name of the process that owns the lock.
> Extended PID 1 | Clusterwide identification of the process that owns the lock.
> Lock ID | Identification of the lock.
> PID | Systemwide identification of the lock.
> Flags | Information specified in the request for the lock.
> Par. ID | Identification of the lock's parent lock.
> Sublocks | Count of the locks that the lock owns.
> LKB | Address of the lock block (LKB). If a blocking AST has been enabled for this lock, the notation "BLKAST" appears next to the LKB address.
> Priority | The lock priority.
> Granted at | Lock mode at which the lock was granted.
> RSB | Address of the resource block.
> Resource | Dump of the resource name. The two leftmost columns of the dump show its contents as hexadecimal values, the least significant byte being represented by the rightmost two digits. The rightmost column represents its contents as ASCII text, the least significant byte being represented by the leftmost character.
> Status | Status of the lock, information used internally by the lock manager.
> Length | Length of the resource name.
> Mode | Processor access mode of the namespace in which the resource block (RSB) associated with the lock resides.
> Owner | Owner of the resource. Certain resources owned by the operating system list "System" as the owner. Resources owned by a group have the number (in octal) of the owning group in this field.
> Copy | Indication of whether the lock is mastered on the local system or is a process copy.

1This display element is produced only by the SHOW PROCESS/LOCKS command.

### Examples

#1
    SDA>  SHOW LOCKS
    Lock Database
    -------------

    Lock id:  3E000002            PID:    00000000   Flags: CONVERT NOQUEUE SYNCSTS
    Par. id:  00000000            SUBLCKs:       0          NOQUOTA CVTSYS
    LKB:      FFFFFFFF.7DF48150   BLKAST: 81107278
    Priority:     0000

    Granted at    CR   00000000-FFFFFFFF

    RSB:               FFFFFFFF.7DF68D50
    Resource:          494D6224 42313146  F11B$bMI  Status: NOQUOTA VALBLKR VALBLKW
     Length   18       4D55445F 5944414C  LADY_DUM
     Kernel mode       00000000 00005350  PS......
     System            00000000 00000000  ........

    Local copy

    Lock Database
    -------------

    Lock id:  3F000003            PID:    00000000   Flags: VALBLK  CONVERT SYNCSTS
    Par. id:  0100007A            SUBLCKs:       0          CVTSYS
    LKB:      FFFFFFFF.7DF48250   BLKAST: 00000000
    Priority:     0000

    Granted at    NL   00000000-FFFFFFFF

    RSB:               FFFFFFFF.7DF51D50
    Resource:          01F77324 42313146  F11B$s÷.  Status: NOQUOTA VALBLKR VALBLKW
     Length   10       00000000 00000000  ........
     Kernel mode       00000000 00000000  ........
     System            00000000 00000000  ........

    Local copy

    Lock Database
    -------------

    Lock id:  0A000004            PID:    0001000F   Flags: VALBLK  CONVERT SYNCSTS
    Par. id:  00000000            SUBLCKs:       0          SYSTEM  NODLCKW NODLCKB
    LKB:      FFFFFFFF.7DF48350   BLKAST: 81190420          QUECVT
    Priority:     0000

    Granted at    EX   00000000-FFFFFFFF

    RSB:               FFFFFFFF.7DF50850
    Resource:          004F0FDF 24534D52  RMS$ß.O.  Status: VALBLKR VALBLKW
     Length   26       5F313039 58020000  ...X901_
     Exec. mode        00202020 204C354B  K5L    .
     System            00000000 00000000  ........

    Local copy

       .
       .
       .

#2
    SDA>  SHOW RESOURCES/LOCKID=0A000004
    Resource Database
    -----------------
    RSB:         FFFFFFFF.7DF50850  GGMODE:     EX  Status: DIRENTR VALID
    Parent RSB:  00000000.00000000  CGMODE:     EX
    Sub-RSB count:      0           FGMODE:     EX
    Lock Count:         1           RQSEQNM:  0000
    BLKAST count:       1           CSID: 00000000  (MILADY)

    Resource:          004F0FDF 24534D52  RMS$ß.O.  Valblk: 00000000 00000000
     Length   26       5F313039 58020000  ...X901_          00000000 00000000
     Exec. mode        00202020 204C354B  K5L    .
     System            00000000 00000000  ........  Seqnum: 00000000

    Granted queue (Lock ID / Gr mode / Range):
     0A000004  EX 00000000-FFFFFFFF

    Conversion queue (Lock ID / Gr mode / Range -> Rq mode / Range):
         *** EMPTY QUEUE ***

    Waiting queue (Lock ID / Rq mode / Range):
         *** EMPTY QUEUE ***

> This SDA session shows the output of the SHOW LOCKS command for several locks. The SHOW RESOURCES command, executed for the last displayed lock, verifies that the lock is in the resource's granted queue. (See Table 4-21 for a full explanation of the contents of the display of the SHOW RESOURCES command.)

This example shows the brief display for all locks with a blocking AST.

## SHOW MACHINE_CHECK

> Displays the contents of the stored machine check frame. This command is valid for the DEC 4000 Alpha, DEC 7000 Alpha, and DEC 10000 Alpha computers only.

### Format

> SHOW MACHINE_CHECK [/FULL] [cpu-id]

### Parameter

> #### cpu-id

> Numeric value from 00 to 1F16 indicating the identity of the CPU for which context information is to be displayed. This parameter changes the SDA current CPU (the default) to the CPU specified with cpu-id. If you specify a value outside this range, or you specify the cpu-id of a processor that was not active at the time of the system failure, SDA displays the following message:

>     %SDA-E-CPUNOTVLD, CPU not booted or CPU number out of range

> If you use the cpu-id parameter, the SHOW MACHINE_CHECK command performs an implicit SET CPU command, making the CPU indicated by cpu-id the current CPU for subsequent SDA commands. (See the description of the SET CPU command and Chapter 2, Section 2.5 for information on how this can affect the CPU context---and process context---in which SDA commands execute.)

### Qualifier

> #### /FULL

> Specifies that a detailed version of the machine check information be displayed. This is currently identical to the default summary display.

### Description

> The SHOW MACHINE_CHECK command displays the contents of the stored machine check frame. A separate frame is allocated at boot time for every CPU in a multiple-CPU system. This command is valid for the DEC 4000 Alpha, DEC 7000 Alpha, and DEC 10000 Alpha computers only.

> If you do not specify a qualifier, a summary version of the machine check frame is displayed.

> The default cpu-id is the SDA current CPU.

### Examples

#1
    SDA> SHOW MACHINE_CHECK
    CPU 00 Stored Machine Check Crash Data
    --------------------------------------
    Processor specific information:
    -------------------------------
    Exception address:    FFFFFFFF.800B0250    Exception Summary:  00000000.00000000
    Pal base address:     00000000.00008000    Exception Mask:     00000000.00000000
    HW Interrupt Request: 00000000.00000342    HW Interrupt Ena:   00000001.FFC01CE0
    MM_CSR                00000000.00003640    ICCSR:              00000002.381F0000
    D-cache address:      00000007.FFFFFFFF    D-cache status:     00000000.000002E0
    BIU status:           00000000.00000050    BIU address [7..0]: 00000000.000060E0
    BIU control:          00000008.50006447    Fill Address:       00000000.00006120
    Single-bit syndrome:  00000000.00000000    Processor mchck VA: 00000000.00006190
    A-box control:        00000000.0000040E    B-cache TAG:        00106100.83008828
    System specific information:
    ----------------------------
    Garbage bus info:     00200009 00000038    Device type:                 000B8001
    LCNR:                          00000001    Memory error:                00000000
    LBER:                          00000009    Bus error synd 0,1: 00000000 00000000
    Bus error cmd:        00048858 00AB1C88    Bus error synd 2,3: 00000000 0000002C
    LEP mode:                      00010010    LEP lock address:            00041108

> The SHOW MACHINE_CHECK command in this SDA display shows the contents of the stored machine check frame.

#2
    SDA> SHOW MACHINE_CHECK 1
    CPU 01 Stored Machine Check Crash Data
    --------------------------------------
    Processor specific information:
    -------------------------------
    Exception address:    FFFFFFFF.800868A0    Exception Summary:  00000000.00000000
    Pal base address:     00000000.00008000    Exception Mask:     00000000.00000000
    HW Interrupt Request: 00000000.00000342    HW Interrupt Ena:   00000000.1FFE1CE0
    MM_CSR                00000000.00005BF1    ICCSR:              00000000.081F0000
    D-cache address:      00000007.FFFFFFFF    D-cache status:     00000000.000002E0
    BIU status:           00000000.00000050    BIU address [7..0]: 00000000.000063E0
    BIU control:          00000008.50006447    Fill Address:       00000000.00006420
    Single-bit syndrome:  00000000.00000000    Processor mchck VA: 00000000.00006490
    A-box control:        00000000.0000040E    B-cache TAG:        35028EA0.50833828
    System specific information:
    ----------------------------
    Garbage bus info:     00210001 00000038    Device type:                 000B8001
    LCNR:                          00000001    Memory error:                00000080
    LBER:                          00040209    Bus error synd 0,1: 00000000 00000000
    Bus error cmd:        00048858 00AB1C88    Bus error synd 2,3: 00000000 0000002C
    LEP mode:                      00010010    LEP lock address:            00041108

> The SHOW MACHINE_CHECK command in this SDA display shows the contents of the stored machine check frame for cpu-id 01.

## SHOW MEMORY

> Displays the availability and usage of memory resources.

### Format

> SHOW MEMORY [/ALL][/BUFFER_OBJECTS][/CACHE][/FILES]
> [/FULL][/GH_REGIONS][/PHYSICAL_PAGES][/POOL]
> [/RESERVED][/SLOTS]

### Parameters

> None.

### Qualifiers

> #### /ALL

> Displays all available information, that is, information displayed by the following qualifiers:

> > /BUFFER_OBJECTS
> > /CACHE
> > /FILES
> > /GH_REGIONS
> > /PHYSICAL_PAGES
> > /POOL
> > /RESERVED
> > /SLOTS

> This is the default display.

> #### /BUFFER_OBJECTS

> Displays information about system resources used by buffer objects.

> #### /CACHE

> Displays information about either the Virtual I/O Cache facility, or the Extended File Cache facility. The system parameter VCC_FLAGS determines which is used. The cache facility information is displayed as part of the SHOW MEMORY and SHOW MEMORY/CACHE/FULL commands.

> #### /FILES

> Displays information about the use of each paging and swapping file currently installed.

> #### /FULL

> Displays additional information about each pool area or paging or swapping file currently installed, when used with the /POOL or the /FILES qualifier. This qualifier is ignored unless the /FILES or the /POOL qualifier is specified explicitly. When used with the /CACHE qualifier, /FULL displays additional information about the use of the Virtual I/O Cache facility, but is ignored if the Extended File Cache facility is in use.

> #### /GH_REGIONS

> Displays information about the granularity hint regions (GHR) that have been established. For each of these regions, information is displayed about the size of the region, the amount of free memory, the amount of memory in use, and the amount of memory released to OpenVMS from the region. The granularity hint regions information is also displayed as part of SHOW MEMORY, SHOW MEMORY/ALL, and SHOW MEMORY/FULL commands.

> #### /PHYSICAL_PAGES

> Displays information about the amount of physical memory and the number of free and modified pages.

> #### /POOL

> Displays information about the usage of each dynamic memory (pool) area, including the amount of free space and the size of the largest contiguous block in each area.

> #### /RESERVED

> Displays information about memory reservations.

> #### /SLOTS

> Displays information about the availability of partition control block (PCB) vector slots and balance slots.

### Description

> For more details on the SHOW MEMORY command, see the description in OpenVMS DCL Dictionary: N--Z.

## SHOW PAGE_TABLE

> Displays a range of system page table entries, the entire system page table, or the entire global page table.

### Format

> SHOW PAGE_TABLE {range|/FREE [/HEADER=address]
> |/GLOBAL|/GPT|/PT
> |/INVALID_PFN [=option]
> |/NONMEMORY_PFN [=option]
> |/PTE_ADDRESS|/SECTION_INDEX=n
> |/S0S1 (d)|/S2|/SPTW|=ALL}
> {/L1|/L2|/L3 (d)}

### Parameter

> #### range

> Range of virtual addresses or PTE addresses for which SDA displays page table entries. If the qualifier /PTE_ADDRESS is given, then the range is of PTE addresses; otherwise, the range is of virtual addresses.

> If /PTE_ADDRESS is given, the range is expressed using the following syntax:

> m | Displays the single page table entry at address m
> m:n | Displays the page table entries from address m to address n
> m;n | Displays n bytes of page table entries starting at address m

> If /PTE_ADDRESS is not given, then range is expressed 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

### Qualifiers

> #### /FREE

> Causes the starting addresses and sizes of blocks of pages in the free page list to be displayed. The qualifiers /S0S1 (default), /S2, /GLOBAL, and /HEADER determine which free page list is to be displayed.

> #### /GLOBAL

> Lists the global page table. When used with the /FREE qualifier, /GLOBAL indicates the free page list to be displayed.

> #### /HEADER=address

> When used with the /FREE qualifier, the /HEADER=address qualifier displays the free list for the specified private page table.

> #### /GPT

> Specifies the portion of page table space that maps the global page table as the address range.

> #### /INVALID_PFN [=option]

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

> See the /NONMEMORY_PFN qualifier definition for a description of the options.

> #### /L1

> Lists the Level 1 page table entries for the portion of memory specified.

> #### /L2

> Lists the Level 2 page table entries for the portion of memory specified.

> #### /L3

> Lists the Level 3 page table entries for the portion of memory specified. This qualifier is the default level.

> #### /NONMEMORY_PFN [=option]

> 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 PAGE_TABLE=ALL/INVALID_PFN=WRITABLE would display all system pages whose protection allows write, but which map to PFNs that do not belong to this system.

> #### /PT

> Specifies page table space, as viewed from system context, as the address range.

> #### /PTE_ADDRESS

> Specifies that the range given is of PTE addresses instead of the virtual addresses mapped by the PTEs.

> #### /SECTION_INDEX=n

> Displays the page table for the range of pages in the global section or pageable part of a loaded image. For pageable portions of loaded images, one of the qualifiers /L1, /L2, or /L3 can also be specified.

> #### /S0S1

> Specifies S0 and S1 space as the address range. When used with the /FREE qualifer, /S0S1 indicates the free page list to be displayed. This is the default portion of memory or free page list to be displayed.

> #### /S2

> Specifies S2 space as the address range. When used with the /FREE qualifier, /S2 indicates the free page list to be displayed.

> #### /SPTW

> Displays the contents of the system page table window.

### Option

> #### =ALL

> The SHOW PAGE = ALL command displays the page table entries for all shared (system) addresses, without regard to the section of memory being referenced. It is equivalent to specifying all of /S0S1, /S2, /SPTW, /PT, /GPT, and /GLOBAL. This option can be qualified by only one of the /L1, /L2, or /L3 qualifiers.

### Description

> If the /FREE qualifier is not specified, this command displays page table entries for the specified range of addresses or section of memory. For each virtual address displayed by the SHOW PAGE_TABLE command, the first eight columns of the listing provide the associated page table entry and describe its location, characteristics, and contents. SDA obtains this information from the system page table. Table 4-5 describes the information displayed by the SHOW PAGE_TABLE command.

> If the /FREE qualifier is specified, this command displays the free PTE list for the specified section of memory.

> Note that the /L1, /L2, and /L3 qualifiers are ignored when used with the /FREE, /GLOBAL, and /SPTW qualifiers.

> Table 4-5 Virtual Page Information in the SHOW PAGE_TABLE Display
> Value | Meaning
> --- | ---
> MAPPED ADDRESS | Virtual address that marks the base of the virtual page(s) mapped by the PTE.
> PTE ADDRESS | Virtual address of the page table entry that maps the virtual page(s).
> PTE | Contents of the page table entry, a quadword that describes a system virtual page.
> TYPE | Type of virtual page. Table 4-6 shows the eight types and their meanings.
> READ | A code, derived from bits in the PTE, that designates the processor access modes (kernel, executive, supervisor, or user) for which read access is granted.
> WRIT | A code, derived from bits in the PTE, that designates the processor access modes (kernel, executive, supervisor, or user) for which write access is granted.
> BITS | Letters that represent the setting of a bit or a combination of bits in the PTE. These bits indicate attributes of a page. Table 4-7 shows the codes and their meanings.
> GH | Contents of granularity hint bits.

> Table 4-6 Type of Virtual Pages
> Type | Meaning
> --- | ---
> VALID | Valid page (in main memory).
> TRANS | Transitional page (on free or modified page list).
> DZERO | Demand-allocated, zero-filled page.
> PGFIL | Page within a paging file.
> STX | Section table's index page.
> GPTX | Index page for a global page table.
> IOPAG | Page in I/O address space.
> NXMEM | Page not represented in physical memory. The page frame number (PFN) of this page is not mapped by any of the system's memory controllers. This indicates an error condition.

> Table 4-7 Bits In the PTE
> Code | Meaning
> --- | ---
> A | Address space match is set.
> M | Page has been modified.
> L | Page is locked into a working set.
> K | Owner is kernel mode.
> E | Owner is executive mode.
> S | Owner is supervisor mode.
> U | Owner is user mode.

> Previous | Next | Contents | Index

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