unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (SunOS-4.1.3)
Page:
Section:
Apropos / Subsearch:
optional field

PSTAT(8)                    System Manager's Manual                   PSTAT(8)



NAME
       pstat - print system facts

SYNOPSIS
       /usr/etc/pstat [ -afipSsT ] [ -u pid ] [ system [ corefile ] ]

DESCRIPTION
       pstat interprets the contents of certain system tables.  If corefile is
       given, the tables  are  sought  there,  otherwise  in  /dev/kmem.   The
       required namelist is taken from /vmunix unless system is specified.

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

       -f     Print the open file table with these headings:

                     LOC         The memory address of this table entry.
                     TYPE        The type  of  object  the  file  table  entry
                                 points to.
                     FLG         Miscellaneous state variables encoded thus:
                                        R   open for reading
                                        W   open for writing
                                        A   open for appending
                                        S   shared lock present
                                        X   exclusive lock present
                                        I   signal pgrp when data ready
                     CNT         Number of processes that know this open file.
                     MSG         Number of references from message queue.
                     DATA        The  location  of  the  vnode  table entry or
                                 socket for this file.
                     OFFSET      The file offset (see lseek(2V)).

       -i     Print the inode table including  the  associated  vnode  entries
              with these headings:

                     ILOC        The memory address of this table entry.
                     IFLAG       Miscellaneous  inode  state variables encoded
                                 thus:
                                        A   inode access  time  must  be  cor-
                                            rected
                                        C   inode  change  time  must  be cor-
                                            rected
                                        L   inode is locked
                                        R   inode is being referenced
                                        U   update time (fs(5)) must  be  cor-
                                            rected
                                        W   wanted  by another process (L flag
                                            is on)
                     IDEVICE     Major and minor device number of file  system
                                 in which this inode resides.
                     INO         I-number within the device.
                     MODE        Mode bits in octal, see chmod(2V).
                     NLK         Number of links to this inode.
                     UID         User ID of owner.
                     SIZE/DEV    Number of bytes in an ordinary file, or major
                                 and minor device of special file.
                     VFLAG       Miscellaneous vnode state  variables  encoded
                                 thus:
                                        R   root of its file system
                                        S   shared lock applied
                                        E   exclusive lock applied
                                        Z   process is waiting for a shared or
                                            exclusive lock
                     CNT         Number of open file table  entries  for  this
                                 vnode.
                     SHC         Reference count of shared locks on the vnode.
                     EXC         Reference  count  of  exclusive  locks on the
                                 vnode (this may be `>> 1' if, for  example,  a
                                 file descriptor is inherited across a fork).
                     TYPE        Vnode  file type, either VNON (no type), VREG
                                 (regular),  VDIR  (directory),  VBLK   (block
                                 device),  VCHR (character device), VLNK (sym-
                                 bolic link),  VSOCK  (socket),  VFIFO  (named
                                 pipe), or VBAD (bad).

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

                     LOC         The memory address of this table entry.
                     S           Run state encoded thus:
                                        0   no process
                                        1   awaiting an event
                                        2   (abandoned state)
                                        3   runnable
                                        4   being created
                                        5   being terminated
                                        6   stopped (by signal or under trace)
                     F           Miscellaneous  state variables, ORed together
                                 (hexadecimal):
                                        0000001     loaded
                                        0000002     a system  process  (sched-
                                                    uler or page-out daemon)
                                        0000004     locked for swap out
                                        0000008     swapped out during process
                                                    creation
                                        0000010     process is being traced
                                        0000020     tracing  parent  has  been
                                                    told   that   process   is
                                                    stopped
                                        0000040     user settable lock in mem-
                                                    ory
                                        0000080     in page-wait
                                        0000100     prevented   from  swapping
                                                    during fork(2V)
                                        0000200     will  restore   old   mask
                                                    after taking signal
                                        0000400     exiting
                                        0000800     doing physical I/O
                                        0001000     process  resulted  from  a
                                                    vfork(2) which is not  yet
                                                    complete
                                        0002000     another flag for vfork(2)
                                        0004000     process   has  no  virtual
                                                    memory, as it is a  parent
                                                    in the context of vfork(2)
                                        0008000     process  is  demand paging
                                                    pages from its  executable
                                                    image vnode
                                        0010000     process   has  advised  of
                                                    sequential   VM   behavior
                                                    with vadvise(2)
                                        0020000     process   has  advised  of
                                                    random  VM  behavior  with
                                                    vadvise(2)
                                        0080000     process   is   a   session
                                                    process group leader
                                        0100000     process is tracing another
                                                    process
                                        0200000     process  needs a profiling
                                                    tick
                                        0400000     process    is     scanning
                                                    descriptors during select
                                        4000000     process  has  done  record
                                                    locks
                                        8000000     process is having its sys-
                                                    tem calls traced
                     PRI         Scheduling priority, see getpriority(2).
                     SIG         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 getpriority(2).
                     PGRP        Process number of root of process group.
                     PID         The process ID number.
                     PPID        The process ID of parent process.
                     RSS         Resident  set  size -- the number of physical
                                 page frames allocated to this process.
                     SRSS        RSS at last swap (0 if never swapped).
                     SIZE        The size of the process image.  That is,  the
                                 sum  of the data and stack segment sizes, not
                                 including the sizes of any shared libraries.
                     WCHAN       Wait channel number of a waiting process.
                     LINK        Link pointer in list of runnable processes.

       -S     Print the streams table with these headings:

                     LOC         The memory address of this table entry.
                     WRQ         The address of this stream's write queue.
                     VNODE       The address of this stream's vnode.
                     DEVICE      Major and minor device number  of  device  to
                                 which this stream refers.
                     PGRP        This stream's process group number.
                     SIGIO       The process id or process group that has this
                                 stream open().
                     FLG         Miscellaneous stream state variables  encoded
                                 thus:
                                        I   waiting for ioctl() to finish
                                        R   read/recvmsg is blocked
                                        W   write/putmsg is blocked
                                        P   priority message is at stream head
                                        H   device   has   been   ``hung  up''
                                            (M_HANGUP)
                                        O   waiting for open to finish
                                        M   stream is linked under multiplexor
                                        D   stream is in message-discard mode
                                        N   stream  is  in  message-nondiscard
                                            mode
                                        E   fatal error has occurred (M_ERROR)
                                        T   waiting  for  queue  to drain when
                                            closing
                                        2   waiting for  previous  ioctl()  to
                                            finish before starting new one
                                        3   waiting   for  acknowledgment  for
                                            ioctl()
                                        B   stream is in non-blocking mode
                                        A   stream is in asynchronous mode
                                        o   stream  uses  old-style   no-delay
                                            mode
                                        S   stream has had TOSTOP set
                                        C   VTIME clock running
                                        V   VTIME timer expired
                                        r   collision on select() for reading
                                        w   collision on select() for writing
                                        e   collision  on  select() for excep-
                                            tional condition

              The queues on the write and read sides of the stream are  listed
              for each stream.  Each queue is printed with  these headings:

                     NAME        The  name  of  the  module or driver for this
                                 queue.
                     COUNT       The  approximate  number  of  bytes  on  this
                                 queue.
                     FLG         Miscellaneous state variables encoded thus:
                                        E   queue is enabled to run
                                        R   someone  wants  to  get  from this
                                            queue when it becomes non-empty
                                        W   someone wants to put on this queue
                                            when it drains
                                        F   queue is full
                                        N   queue  should not be enabled auto-
                                            matically by a putq
                     MINPS       The minimum packet size for this queue.
                     MAXPS       The maximum packet size for  this  queue,  or
                                 INF if there is no maximum.
                     HIWAT       The high-water mark for this queue.
                     LOWAT       The low-water mark for this queue.

       -s     Print information about swap space usage:

                     allocated:  The amount of swap space (in bytes) allocated
                                 to private pages.

                     reserved:   The number of swap space bytes not  currently
                                 allocated,  but  claimed  by  memory mappings
                                 that have not yet created private pages.

                     used:       The total amount of  swap  space,  in  bytes,
                                 that is either allocated or reserved.

                     available:  The  total swap space, in bytes, that is cur-
                                 rently available for future  reservation  and
                                 allocation.

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

       -u pid Print information about the process with ID pid.

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

SEE ALSO
       ps(1), chmod(2V), fork(2V), getpriority(2), lseek(2V),  stat(2V),  vad-
       vise(2), vfork(2), fs(5) iostat(8), vmstat(8),

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 dynam-
       ically allocated.



                                27 January 1988                       PSTAT(8)