4BSD/usr/man/cat8/pstat.8

Compare this file to the similar file:
Show the results in this format:




PSTAT(8)            UNIX Programmer's Manual             PSTAT(8)



NAME
     pstat - print system facts

SYNOPSIS
     /etc/pstat [ -aixptufT ] [ suboptions ] [ file ]

DESCRIPTION
     _P_s_t_a_t interprets the contents of certain system tables.  If
     _f_i_l_e is given, the tables are sought there, otherwise in
     /_d_e_v/_k_m_e_m. The required namelist is taken from /_v_m_u_n_i_x.
     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 (_f_i_l_s_y_s(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 _c_h_m_o_d(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    _p_t_r_a_c_e(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 _e_x_e_c(2))

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




Printed 11/10/80                                                1






PSTAT(8)            UNIX Programmer's Manual             PSTAT(8)



     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 (hexade-
           cimal):
           000001   loaded
           000002   the scheduler process
           000004   locked for swap out
           000008   swapped out
           000010   traced
           000020   used in tracing
           000040   locked in by _l_o_c_k(2).
           000080   in page-wait
           000100   prevented from swapping during _f_o_r_k(2)
           000200   gathering pages for raw i/o
           000400   exiting
           001000   process resulted from a _v_f_o_r_k(2) which is not
                    yet complete
           002000   another flag for _v_f_o_r_k(2)
           004000   process has no virtual memory, as it is a
                    parent in the context of _v_f_o_r_k(2)
           008000   process is demand paging data pages from its
                    text inode.
           010000   process has warned of anomalous behavior with
                    _v_l_i_m_i_t(2).
           020000   system detected anomalous behavior.
           040000   process is in a sleep which will timeout.
           080000   a parent of this process has exited and this
                    process is now considered detached.
           100000   process used some new signal primitives, i.e.
                    _s_i_g_s_e_t(3); more system calls will restart.
     POIP  number of pages currently being pushed out from this



Printed 11/10/80                                                2






PSTAT(8)            UNIX Programmer's Manual             PSTAT(8)



           process.
     PRI   Scheduling priority, see _n_i_c_e(2).
     SIGNAL
           Signals received (signals 1-32 coded in bits 0-31),
     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 _n_i_c_e(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 multi-
           ples 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 _a_l_a_r_m(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 _t_t_y(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.
     DISC  Line discipline; blank is old tty OTTYDISC or ``new
           tty'' for NTTYDISC or ``net'' for NETLDISC (see
           _b_k(4)).




Printed 11/10/80                                                3






PSTAT(8)            UNIX Programmer's Manual             PSTAT(8)



     -u    print information about a user process; the next argu-
           ment is its address as given by _p_s(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 _l_s_e_e_k(2).

     -s print information about swap space usage: the number of
     (1k byte) pages used and free is given as well as the number
     of used pages which belong to text images.

     -T prints the number of used and free slots in the several
     system tables and is useful for checking to see how full
     system tables have become if the system is under heavy load.

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

SEE ALSO
     ps(1), stat(2), filsys(5)
     K. Thompson, _U_N_I_X _I_m_p_l_e_m_e_n_t_a_t_i_o_n

BUGS
     It would be very useful if the system recorded "maximum
     occupancy" on the tables reported by -T; even more useful if
     these tables were dynamically allocated.



















Printed 11/10/80                                                4