                                 SYSTAT

                         A System Status Program


The SYSTAT program is run using the SYSTAT command. The SYSTAT command is a
foreign command of the form:

     $ SY*STAT == "$dev:[dir]SYSTAT.EXE"

It may be installed with WORLD privilege.

Command syntax:

              Qualifiers and Parameters:    Defaults:         Min. Abbr:
     $ SYSTAT [/NODE[=nodename]]            /NODE=*           /N[=]
              [/IMAGE[=imagename]]          /IMAGE=*          /I[=]
              [/[NO]RIGHTS]                 /NORIGHTS         /RI  /NOR
              [/[NO]IO]                     /NOIO             /IO  /NOIO
              [/[NO]PROCESS_NAME[=prcnam]]  /NOPROCESS_NAME   /PR  /NOP
              [/PRIORITY]                                     /PRI
              [/[NO]INTERACTIVE]            /INTERACTIVE      /IN  /NOI
              [/[NO]BATCH]                  /BATCH            /BA  /NOB
              [/[NO]NETWORK]                /NONETWORK        /NE  /NON
              [/[NO]OTHER]                  /NOOTHER          /OT  /NOO
              [/[NO]ALL]                    /INT/BATCH        /A   /NOA
              [/ID=pid]                                       /ID
              [/SUMMARY]                                      /S
              [username]                    (all)

/NODE  may be used to specify the node name. If it is omitted, an asterisk is
    used as the default.  If it is specified with no value, only the current
    node is used.  Only nodes which are members of the same cluster as the
    system on which the command is given are valid.

/IMAGE  may be used to include only processes running that image.  If no value
    is given, processes with no image (running the CLI) will be included.
    Wildcards may be used.  The default is to show processes regardless of
    the image they are running.

/RIGHTS  includes currently enabled process rights for each process.  Certain
    "usual" rights are filtered from the list: Interactive, Batch, Network,
    Local, and the UIC identifier if it matches the username.  Other process
    rights that the system automatically adds remain. These include Dialup and
    Remote. /NORIGHTS is the default.

/IO may be used to substitute the buffered and direct IO counts for the global
    and total memory in use information. /NOIO is the default.

/PROCESS_NAME may be used to substitute the process name for the time
    information. Both the elapsed and CPU time will be replaced by the process
    name. In addition, a value may be specified. This will be compared against
    a compressed and uppercased version of the process name. Wildcards may be
    used. /NOPROCESS_NAME is the default.

/PRIORITY  may be used to substitute the base and current priorities for the
    global and total memory in use information.

/INTERACTIVE  includes mode interactive processes. /INTERACTIVE is the default.

/BATCH  includes mode batch processes. /BATCH is the default.

/NETWORK  includes mode network processes. /NONETWORK is the default.

/OTHER  includes mode other (detached) processes. /NOOTHER is the default.

/ALL includes processes in all modes.

/SUMMARY  just produces the summary information.  It implies /ALL as well.

username  includes only processes for this user.  You may use wildcards ("*"
    or "%").  $ SYSTAT * is not equivalent to $ SYSTAT, because the swapper
    process has no username, and will not match a username wildcard.  It will
    show up when /OTHER is specified with no username to match. Also note that
    there is no implicit wildcard at the end; "SMITH" will match "SMITH" but
    not "SMITHJ" as SHOW USERS would.[1]  Also, unlike SHOW USERS, wildcards
    work for any part of the username.

An example:

$ SYSTAT
-------- System Status on Node(s) ADMIN* at 02:33 PM, 09-Apr-91 --------

  PID    Username Elapsed-Time  CPU-Time  State M   Gbl/Mem   Image
20C00504 CBROWN        0 00:17 0 00:00:06 LEF   I    80/367
20C0047E FLOWERS       0 01:59 0 00:00:25 CUR   I   189/1270  SYSTAT
20C00348 LINUS         0 06:27 0 00:01:07 CUR   I   111/462   TYPE
20C00349 LINUS         0 06:27 0 00:00:34 HIB  sI  1362/3945  TPU
20C003EF LUCY          0 04:04 0 00:00:33 LEF   I   290/1154  CSWING
20C004EA LUCY          0 00:32 0 00:00:08 HIB  sI  1098/2393  TPU
20E001BF PIGPEN        1 22:36 0 00:02:44 LEF   I   155/467
20C004F7 SNOOPY        0 00:19 0 00:00:06 HIB   I   123/406
20C004F9 SNOOPY        0 00:19 0 00:00:11 LEF  sI  1064/2593  TPU

-----  9 records:  9 Interactive  0 Batch  0 Network  0 Other  -----

Processes are sorted by username, mode, and elapsed time such that the oldest
interactive process for a user is shown first. Most items are self-explanatory.
Elapsed time is in d hh:mm format, and CPU time is d hh:mm:ss. A small "s"
before the process mode indicates that the process is a subprocess. The modes
are I for interactive, B for batch, N for network, and O for other (detached).
The numbers under "Gbl" are the number of pages of global (shared) memory
mapped by that process's working set.  The numbers under "Mem" are the total
number of pages (including global) in the process's working set. If IO
statistics are selected, the memory is replaced by "BIO" for the buffered IO
count and "DIO" for the direct IO count. The IO counts are since process
creation. If the image is blank, the CLI (usually DCL) is running.  Blanks in
other fields indicates that the information was not available at the time it
was requested. A table of possible process states follows.[2]


                  State_____Description_____________________

                  CEF       Common event flag wait
                  COM       Computable (waiting to run)
                  COMO      Computable, outswapped
                  CUR       Current (running)
                  COLPG     Collided page wait
                  FPG       Free page wait
                  HIB       Hibernate wait
                  HIBO      Hibernate wait, outswapped
                  LEF       Local event flag wait (normal I/O wait)
                  LEFO      Local event flag wait, outswapped
                  MUTEX     Mutex wait
                  MWAIT     Miscellaneous resource wait
                  PFW       Page fault wait
                  RWAST     AST wait (also catch-all for MWAIT)
                  RWCLU     Cluster transition wait
                  RWCAP     CPU capability wait
                  RWCSV     Cluster server process wait
                  RWQUO     Job pooled quota
                  RWMBX     Mailbox full wait
                  RWMPB     Modified page writer busy wait
                  RWMPE     Modified page list empty wait
                  RWNPG     Nonpaged dynamic memory wait
                  RWPAG     Paged dynamic memory wait
                  RWSCS     Distributed lock manager wait
                  SUSP      Suspended
                  SUSPO     Suspended, outswapped

_____
[1] I consider this a feature. It would be easy to make the program work the
    other way, but then you couldn't limit to a specific username if there
    were others that started with that name. I prefer "SYSTAT SMITH*" to match
    all usernames starting with "SMITH".
[2] Actually, "MUTEX" and all the ones beginning with "RW" are not process
    states, but types of the "MWAIT" state. I have replaced the generic
    "MWAIT" state with the type of wait as SHOW SYSTEM also does.
