[an error occurred while processing this directive]

HP OpenVMS Systems Documentation

Content starts here

OpenVMS Alpha System Analysis Tools Manual


Previous Contents Index


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 in Table 4-29.

Table 4-29 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=8131F5C0 Timer queue entry 8131F5C0 -------------------------- TQE Address: 8131F5C0 Type: 00000005 SYSTEM_SUBROUTINE REPEAT FLink: 8129C6D8 BLink: 83975948 Requestor process ID: 00000000 Access Mode: 00000000 Expiration time: 009EADD2.417463F4 30-MAY-2000 15:14:47.31 +67860 Delta repeat time: 00000000.00989680 0 00:00:01.00 Fork PC: 811FDCD0 NETDRIVER+190D0 Fork R3: 00000000.00000000 Fork R4: FFFFFFFF.8131DB00

This example shows the detailed display for a single TQE.


SHOW WORKING_SET_LIST, SHOW WSL

Displays the system working set list and retains the current process context.

Format

SHOW WORKING_SET_LIST or SHOW WSL [={GPT|SYSTEM|LOCKED|n }]


Parameters

None.

Qualifiers

None.

Description

The SHOW WORKING_SET_LIST command displays the contents of requested entries in the system working set list. If you do not specify an option, all working set list entries are displayed. Table 4-30 shows the options available with SHOW WORKING_SET_LIST. The SHOW WORKING_SET_LIST command is equivalent to the SHOW PROCESS/SYSTEM/WORKING_SET_LIST command, but the SDA current process context returns to the prior process upon completion. See the SHOW PROCESS command and Table 4-18 for more information.

Table 4-30 Options for the SHOW WORKING_SET_LIST Command
Options Results
GPT Displays only working set list entries for global page table pages
SYSTEM Displays only working set list entries for pageable system pages
LOCKED Displays only working set list entries for pageable system pages that are locked in the system working set
n Displays a specific working set entry, where n is the working set list index (WSLX) of the entry of interest


SPAWN

Creates a subprocess of the process currently running SDA, copying the context of the current process to the subprocess and, optionally, executing a specified command within the subprocess.

Format

SPAWN [/qualifier[,...]] [command]


Parameter

command

Name of the command that you want the subprocess to execute.

Qualifiers

/INPUT=filespec

Specifies an input file containing one or more command strings to be executed by the spawned subprocess. If you specify a command string with an input file, the command string is processed before the commands in the input file. When processing is complete, the subprocess is terminated.

/NOLOGICAL_NAMES

Specifies that the logical names of the parent process are not to be copied to the subprocess. The default behavior is that the logical names of the parent process are copied to the subprocess.

/NOSYMBOLS

Specifies that the DCL global and local symbols of the parent process are not to be passed to the subprocess. The default behavior is that these symbols are passed to the subprocess.

/NOTIFY

Specifies that a message is to be broadcast to SYS$OUTPUT when the subprocess either completes processing or aborts. The default behavior is that such a message is not sent to SYS$OUTPUT.

/NOWAIT

Specifies that the system is not to wait until the subprocess is completed before allowing more commands to be specified. This qualifier allows you to specify new commands while the spawned subprocess is running. If you specify /NOWAIT, use /OUTPUT to direct the output of the subprocess to a file to prevent more than one process from simultaneously using your terminal.

The default behavior is that the system waits until the subprocess is completed before allowing more commands to be specified.

/OUTPUT=filespec

Specifies an output file to which the results of the SPAWN operation are written. To prevent output from the spawned subprocess from being displayed while you are specifying new commands, specify an output other than SYS$OUTPUT whenever you specify /NOWAIT. If you omit the /OUTPUT qualifier, output is written to the current SYS$OUTPUT device.

/PROCESS=process-name

Specifies the name of the subprocess to be created. The default name of the subprocess is USERNAME_n, where USERNAME is the user name of the parent process. The variable n represents the subprocess number.

Example


SDA>  SPAWN
$  MAIL
   .
   .
   .
$  DIR
   .
   .
   .
$  LO
   Process SYSTEM_1 logged out at 5-JAN-1993 15:42:23.59
SDA>
      

This example uses the SPAWN command to create a subprocess that issues DCL commands to invoke the Mail utility. The subprocess then lists the contents of a directory before logging out to return to the parent process executing SDA.


UNDEFINE

Removes the specified symbol from SDA's symbol table.

Format

UNDEFINE symbol


Parameter

symbol

The name of the symbol to be deleted from SDA's symbol table. A symbol name is required.

Qualifiers

None.

VALIDATE PFN_LIST

Validates that the page counts on lists are correct.

Format

VALIDATE PFN_LIST {/ALL (d)|[/BAD|/FREE|/MODIFIED|/PRIVATE| /UNTESTED|/ZERO]}


Parameters

None.

Qualifiers

/ALL

Validates all the PFN lists: bad, free, modified, zeroed free pages, and private pages.

/BAD

Validates the bad page list.

/FREE

Validates the free page list.

/MODIFIED

Validates the modified page list.

/PRIVATE

Validates all private page lists.

/UNTESTED

Validates the untested page list that was set up for deferred memory testing.

/ZERO

Validates the zeroed free page list.

Description

The VALIDATE PFN_LIST command validates the specified PFN list by counting the number of entries in the list and comparing that to the running count of entries for each list maintained by the system.

Examples

#1

SDA> VALIDATE PFN_LIST
Free page list validated: 1433 pages
        (excluding zeroed free page list with expected size 103 pages)
Zeroed free page list validated: 103 pages
Modified page list validated: 55 pages
Bad page list validated: 0 pages
Untested page list validated: 0 pages
Private page list at 81486340 validated: 2 pages
      

#2

SDA> VALIDATE PFN_LIST/FREE
Free page list validated: 1433 pages
        (excluding zeroed free page list with expected size 103 pages)

      


VALIDATE QUEUE

Validates the integrity of the specified queue by checking the pointers in the queue.

Format

VALIDATE QUEUE [address]
[/BACKLINK|/LIST|/PHYSICAL|
/QUADWORD|/SELF_RELATIVE|/SINGLY_LINKED]


Parameter

address

Address of an element in a queue.

If you specify the period (.) as the address, SDA uses the last evaluated expression as the queue element's address.

If you do not specify an address, the VALIDATE QUEUE command determines the address from the last issued VALIDATE QUEUE command in the current SDA session.

If you do not specify an address, and no queue has previously been specified, SDA displays the following error message:


%SDA-E-NOQUEUE, no queue has been specified for validation

Qualifiers

/BACKLINK

Allows doubly linked lists to be validated from the tail of the queue. If the queue is found to be broken when validated from the head of the queue, you can use /BACKLINK to narrow the list of corrupted entries.

/LIST

Displays the address of each element in the queue.

/PHYSICAL

Allows validation of queues whose header and links are physical addresses.

/QUADWORD

Allows the validate operation to occur on queues with linked lists of quadword addresses.

/SELF_RELATIVE

Specifies that the selected queue is a self-relative queue.

/SINGLY_LINKED

Allows validation of queues that have no backward pointers.

Description

The VALIDATE QUEUE command uses the forward and, optionally, backward pointers in each element of the queue to make sure that all such pointers are valid and that the integrity of the queue is intact. If the queue is intact, SDA displays the following message:


Queue is complete, total of n elements in the queue
In these messages, n represents the number of entries the VALIDATE QUEUE command has found in the queue.

If SDA discovers an error in the queue, it displays one of the following error messages:


Error in forward queue linkage at address nnnnnnnn after tracing x elements
Error comparing backward link to previous structure address (nnnnnnnn)
Error occurred in queue element at address oooooooo after tracing pppp elements

These messages can appear frequently when you use the VALIDATE QUEUE command within an SDA session that is analyzing a running system. In a running system, the composition of a queue can change while the command is tracing its links, thus producing an error message.

If there are no entries in the queue, SDA displays this message:


The queue is empty

Examples

#1

SDA>  VALIDATE QUEUE/SELF_RELATIVE IOC$GQ_POSTIQ
Queue is complete, total of 159 elements in the queue
      

This example validates the self-relative queue IOC$GQ_POSTIQ. The validation is successful and the system determines that there are 159 IRPs in the list.

#2

SDA> VALIDATE QUEUE/QUADWORD FFFFFFFF80D0E6CO/LIST
Entry      Address               Flink                   Blink
-----      -------               ------                  -----
Header     FFFFFFFF80D0E6CO      FFFFFFFF80D03780        FFFFFFFF80D0E800
    1.     FFFFFFFF80D0E790      FFFFFFFF80D0E7CO        FFFFFFFF80D0E6C0
    2.     FFFFFFFF80D0E800      FFFFFFFF80D0E6C0        FFFFFFFF80D0E7C0
Queue is complete, total of 3 elements in the queue
      

This example shows the validation of quadword elements in a list.

#3

SDA> VALIDATE QUEUE/SINGLY_LINKED EXE$GL_NONPAGED+4
Queue is zero-terminated, total of 95 elements in the queue
      

This example shows the validation of singly linked elements in the queue. The forward link of the final element is zero instead of being a pointer back to the queue header.


VALIDATE SHM_CPP

Validates all the shared memory common property partitions (CPPs) and the counts and ranges of attached PFNs; optionally, it can validate the contents of the database for each PFN.

Format

VALIDATE SHM_CPP [/QUALIFIERS]


Parameters

None.

Qualifiers

/ADDRESS=n

Validates the counts and ranges for a single shared memory CPP given the address of the SHM_CPP structure.

/ALL

Validates all the shared memory CPPs. This is the default.

/IDENT=n

Validates the counts and ranges for a single shared memory CPP.

/PFN

Validates the PFN database contents for each attached PFN. The default is all lists (free, bad, untested) plus the PFN database pages and the complete range of PFNs in the CPP.

To validate only the complete range of PFNs in the CPP, use the keyword ALL_FRAGMENTS with the /PFN qualifier:


     /PFN = ALL_FRAGMENTS

To validate only the bad page list, use the keyword BAD with the /PFN qualifier:


     /PFN = BAD

To validate only the free page list, use the keyword FREE with the /PFN qualifier:


     /PFN = FREE

To validate the PFNs containing the PFN database, use the keyword PFNDB with the /PFN qualifier:


     /PFN = PFNDB

To validate only the untested page list, use the keyword UNTESTED with the /PFN qualifier:


     /PFN = UNTESTED

To validate multiple lists, you can combine keywords for use with the /PFN qualifier:


     /PFN = (x,y)

If you specify the /PFN without /ALL, /IDENT, or /ADDRESS, then the system validates the PFN lists from the last shared memory CPP.


Example


SDA> SHOW SHM_CPP
Not validating SHM_CPP 0000 at FFFFFFFF.7F2BA140, VALID flag clear

Not validating SHM_CPP 0001 at FFFFFFFF.7F2BA380, VALID flag clear

Not validating SHM_CPP 0002 at FFFFFFFF.7F2BA5C0, VALID flag clear

Validating SHM_CPP 0003 at FFFFFFFF.7F2BA800 ...

    Validating counts and ranges in the free page list ...
    ... o.k.

    Not validating the bad page list, list is empty

    Not validating the untested page list, list is empty

Not validating SHM_CPP 0004 at FFFFFFFF.7F2BAA40, VALID flag clear

Not validating SHM_CPP 0005 at FFFFFFFF.7F2BAC80, VALID flag clear

Not validating SHM_CPP 0006 at FFFFFFFF.7F2BAEC0, VALID flag clear

      

This example shows the default output for the VALIDATE SHM_CPP command.


VALIDATE TQE

Validates all the data structures associated with timer queue entries (TQEs).

Format

VALIDATE TQE


Parameters

None.

Qualifiers

None.

Description

TQEs are linked together with index blocks that point to TQEs or to another level of index block. VALIDATE TQE checks that all the index blocks are correctly linked together.

Example


SDA> VALIDATE TQE
Validating time index buckets...
    ... o.k.
Validating ID index buckets...
    ... o.k.
Validating 1st time...
    ... o.k.
Validating counts...
    ... o.k.
      

This example shows the output from a successful VALIDATE TQE command.


Previous Next Contents Index