PSTAT(1M)

NAME
pstat - print system facts

SYNOPSIS
pstat [ -aixptuf ] [ suboptions ] [ file ]

DESCRIPTION
Pstat interprets the contents of certain system tables. If file is given, the tables are sought there, otherwise in /dev/kmem. The required namelist is taken from /vmunix. Options are

-a  Under -p, describe all process slots rather than just active ones.

-i  Print the inode table with the these headings:

LOC The core location of this table entry.
FLAGS
    Miscellaneous state variables encoded thus:
    L   locked
    U   update time filsys(5)) must be corrected
    A   access time must be corrected
    M   file system is mounted here
    W   wanted by another process (L flag is on)
    T   contains a text file
    C   changed time must be corrected
CNT Number of open file table entries for this inode.
DEV Major and minor device number of file system in which this inode resides.
INO I-number within the device.
MODE
    Mode bits, see chmod(2).
NLK Number of links to this inode.
UID User ID of owner.
SIZ/DEV
    Number of bytes in an ordinary file, or major and minor device of special file.

-x  Print the text table with these headings:

LOC The core location of this table entry.
FLAGS
    Miscellaneous state variables encoded thus:
    T   ptrace(2) in effect
    W   text not yet written on swap device
    L   loading in progress
    K   locked
    w   wanted (L flag is on)
    P   resulted from demand-page-from-inode exec format (see exec(2))

DADDR
    Disk address in swap, measured in multiples of 512 bytes.

CADDR
    Head of a linked list of loaded processes using this text segment.

SIZE
    Size of text segment, measured in multiples of 512 bytes.

IPTR
    Core location of corresponding inode.

CNT Number of processes using this text segment.

CCNT
    Number of processes in core using this text segment.

-p  Print process table for active processes with these headings:

LOC The core location of this table entry.
S   Run state encoded thus:
    0   no process
    1   waiting for some event
    3   runnable
    4   being created
    5   being terminated
    6   stopped under trace
F   Miscellaneous state variables, or-ed together (hexadecimal):
    0001
        loaded
    0002
        the scheduler process
    0004
        locked for swap out
    0008
        swapped out
    0010
        traced
    0020
        used in tracing
    0040
        locked in by lock(2).
    0080
        in page-wait
    0100
        prevented from swapping during fork(2)
    0200
        gathering pages for raw i/o
    0400
        exiting
    1000
        process resulted from a vfork(2) which is not yet complete
    2000
        another flag for vfork(2)
    4000
        process has no virtual memory, as it is a parent in the context of vfork(2)
    8000
        process is demand paging data pages from its text inode.
POIP
    number of pages currently being pushed out from this process.
PRI Scheduling priority, see nice(2).
SIGNAL
    Signals received (signals 1-16 coded in bits 0-15),
UID Real user ID.
SLP Amount of time process has been blocked.
TIM Time resident in seconds; times over 127 coded as 127.
CPU Weighted integral of CPU time, for scheduler.
NI  Nice level, see nice(2).
PGRP
    Process number of root of process group (the opener of the controlling terminal).
PID The process ID number.
PPID
    The process ID of parent process.
ADDR
    If in core, the page frame number of the first page of the `u-area' of the process. If swapped out, the position in the swap area measured in multiples of 512 bytes.
RSS Resident set size - the number of physical page frames allocated to this process.
SRSS
    RSS at last swap (0 if never swapped).
SIZE
    Virtual size of process image (data+stack) in multiples of 512 bytes.
WCHAN
    Wait channel number of a waiting process.
LINK
    Link pointer in list of runnable processes.
TEXTP
    If text is pure, pointer to location of text table entry.
CLKT
    Countdown for alarm(2) measured in seconds.

-t  Print table for terminals with these headings:

RAW Number of characters in raw input queue.
CAN Number of characters in canonicalized input queue.
OUT Number of characters in putput queue.
MODE
    See tty(4).
ADDR
    Physical device address.
DEL Number of delimiters (newlines) in canonicalized input queue.
COL Calculated column position of terminal.
STATE
    Miscellaneous state variables encoded thus:
    W   waiting for open to complete
    O   open
    S   has special (output) start routine
    C   carrier is on
    B   busy doing output
    A   process is awaiting output
    X   open for exclusive use
    H   hangup on close
PGRP
    Process group for which this is controlling terminal.

-u  print information about a user process; the next argument is its address as given by ps(1). The process must be in main memory, or the file used can be a core image and the address 0.

-f  Print the open file table with these headings:

LOC The core location of this table entry.
FLG Miscellaneous state variables encoded thus:
    R   open for reading
    W   open for writing
    P   pipe
CNT Number of processes that know this open file.
INO The location of the inode table entry for this file.
OFFS
    The file offset, see lseek(2).

FILES
/vmunix    namelist
/dev/kmem    default source of tables

SEE ALSO
ps(1), stat(2), filsys(5)
K. Thompson, UNIX Implementation
O. Babaoglu and W. Joy Data Structures added in the Berkeley Virtual Memory Extensions to the UNIX System