|
|
1.1 ! root 1: .TH PSTAT 8 "1 April 1981" ! 2: .UC 4 ! 3: .SH NAME ! 4: pstat \- print system facts ! 5: .SH SYNOPSIS ! 6: .B /etc/pstat ! 7: .B \-aixptufT ! 8: [ ! 9: .B suboptions ! 10: ] [ ! 11: .B system ! 12: ] [ ! 13: .B corefile ! 14: ] ! 15: .SH DESCRIPTION ! 16: .I Pstat ! 17: interprets the contents of certain system tables. ! 18: If ! 19: .I corefile ! 20: is given, the tables are sought there, otherwise ! 21: in ! 22: .I /dev/kmem. ! 23: The required namelist is taken from ! 24: .I /vmunix ! 25: unless ! 26: .I system ! 27: is specified. ! 28: Options are ! 29: .TP \w'WCHAN\ 'u ! 30: .B \-a ! 31: Under ! 32: .BR \-p , ! 33: describe all process slots rather than just active ones. ! 34: .TP ! 35: .B \-i ! 36: Print the inode table with the these headings: ! 37: .IP LOC ! 38: The core location of this table entry. ! 39: .PD 0 ! 40: .IP FLAGS ! 41: Miscellaneous state variables encoded thus: ! 42: .RS ! 43: .IP L ! 44: locked ! 45: .IP U ! 46: update time ! 47: .RI ( fs (5)) ! 48: must be corrected ! 49: .IP A ! 50: access time must be corrected ! 51: .IP M ! 52: file system is mounted here ! 53: .IP W ! 54: wanted by another process (L flag is on) ! 55: .IP T ! 56: contains a text file ! 57: .IP C ! 58: changed time must be corrected ! 59: .IP S ! 60: shared lock applied ! 61: .IP E ! 62: exclusive lock applied ! 63: .IP Z ! 64: someone waiting for an exclusive lock ! 65: .RE ! 66: .IP CNT ! 67: Number of open file table entries for this inode. ! 68: .IP DEV ! 69: Major and minor device number of file system in which ! 70: this inode resides. ! 71: .IP RDC ! 72: Reference count of shared locks on the inode. ! 73: .IP WRC ! 74: Reference count of exclusive locks on the inode (this may ! 75: be > 1 if, for example, a file descriptor is inherited across a fork). ! 76: .IP INO ! 77: I-number within the device. ! 78: .IP MODE ! 79: Mode bits, see ! 80: .IR chmod (2). ! 81: .IP NLK ! 82: Number of links to this inode. ! 83: .IP UID ! 84: User ID of owner. ! 85: .IP SIZ/DEV ! 86: Number of bytes in an ordinary file, or ! 87: major and minor device of special file. ! 88: .PD ! 89: .TP ! 90: .B \-x ! 91: Print the text table with these headings: ! 92: .IP LOC ! 93: The core location of this table entry. ! 94: .PD 0 ! 95: .IP FLAGS ! 96: Miscellaneous state variables encoded thus: ! 97: .RS ! 98: .IP T ! 99: .IR ptrace (2) ! 100: in effect ! 101: .IP W ! 102: text not yet written on swap device ! 103: .IP L ! 104: loading in progress ! 105: .IP K ! 106: locked ! 107: .IP w ! 108: wanted (L flag is on) ! 109: .IP P ! 110: resulted from demand-page-from-inode exec format (see ! 111: .IR execve (2)) ! 112: .RE ! 113: .PD ! 114: .IP DADDR ! 115: Disk address in swap, measured in multiples of 512 bytes. ! 116: .IP CADDR ! 117: Head of a linked list of loaded processes using this text segment. ! 118: .IP SIZE ! 119: Size of text segment, measured in multiples of 512 bytes. ! 120: .IP IPTR ! 121: Core location of corresponding inode. ! 122: .IP CNT ! 123: Number of processes using this text segment. ! 124: .IP CCNT ! 125: Number of processes in core using this text segment. ! 126: .PD ! 127: .TP ! 128: .B \-p ! 129: Print process table for active processes with these headings: ! 130: .IP LOC ! 131: The core location of this table entry. ! 132: .PD 0 ! 133: .IP S ! 134: Run state encoded thus: ! 135: .RS ! 136: .IP 0 ! 137: no process ! 138: .IP 1 ! 139: waiting for some event ! 140: .IP 3 ! 141: runnable ! 142: .IP 4 ! 143: being created ! 144: .IP 5 ! 145: being terminated ! 146: .IP 6 ! 147: stopped under trace ! 148: .RE ! 149: .IP F ! 150: Miscellaneous state variables, or-ed together (hexadecimal): ! 151: .RS ! 152: .IP 000001 9n ! 153: loaded ! 154: .IP 000002 ! 155: the scheduler process ! 156: .IP 000004 ! 157: locked for swap out ! 158: .IP 000008 ! 159: swapped out ! 160: .IP 000010 ! 161: traced ! 162: .IP 000020 ! 163: used in tracing ! 164: . \".IP 000040 ! 165: . \"locked in by ! 166: . \".IR lock (2). ! 167: .IP 000080 ! 168: in page-wait ! 169: .IP 000100 ! 170: prevented from swapping during ! 171: .IR fork (2) ! 172: .IP 000200 ! 173: gathering pages for raw i/o ! 174: .IP 000400 ! 175: exiting ! 176: .IP 001000 ! 177: process resulted from a ! 178: .IR vfork (2) ! 179: which is not yet complete ! 180: .IP 002000 ! 181: another flag for ! 182: .IR vfork (2) ! 183: .IP 004000 ! 184: process has no virtual memory, as it is a parent in the context of ! 185: .IR vfork (2) ! 186: .IP 008000 ! 187: process is demand paging data pages from its text inode. ! 188: .IP 010000 ! 189: process has advised of anomalous behavior with ! 190: .IR vadvise (2). ! 191: .IP 020000 ! 192: process has advised of sequential behavior with ! 193: .IR vadvise (2). ! 194: .IP 040000 ! 195: process is in a sleep which will timeout. ! 196: .IP 080000 ! 197: a parent of this process has exited and this process ! 198: is now considered detached. ! 199: .IP 100000 ! 200: process used 4.1BSD compatibility mode signal primitives, ! 201: no system calls will restart. ! 202: .IP 200000 ! 203: process is owed a profiling tick. ! 204: .RE ! 205: .IP POIP ! 206: number of pages currently being pushed out from this process. ! 207: .IP PRI ! 208: Scheduling priority, see ! 209: .IR setpriority (2). ! 210: .IP SIGNAL ! 211: Signals received (signals 1-32 coded in bits 0-31), ! 212: .IP UID ! 213: Real user ID. ! 214: .IP SLP ! 215: Amount of time process has been blocked. ! 216: .IP TIM ! 217: Time resident in seconds; times over 127 coded as 127. ! 218: .IP CPU ! 219: Weighted integral of CPU time, for scheduler. ! 220: .IP NI ! 221: Nice level, ! 222: see ! 223: .IR setpriority (2). ! 224: .IP PGRP ! 225: Process number of root of process group ! 226: (the opener of the controlling terminal). ! 227: .IP PID ! 228: The process ID number. ! 229: .IP PPID ! 230: The process ID of parent process. ! 231: .IP ADDR ! 232: If in core, the page frame number of the first page of the `u-area' of ! 233: the process. ! 234: If swapped out, the position in the swap area ! 235: measured in multiples of 512 bytes. ! 236: .IP RSS ! 237: Resident set size \- the number of physical page frames allocated ! 238: to this process. ! 239: .IP SRSS ! 240: RSS at last swap (0 if never swapped). ! 241: .IP SIZE ! 242: Virtual size of process image (data+stack) in multiples of 512 bytes. ! 243: .IP WCHAN ! 244: Wait channel number of a waiting process. ! 245: .IP LINK ! 246: Link pointer in list of runnable processes. ! 247: .IP TEXTP ! 248: If text is pure, pointer to location of text table entry. ! 249: .IP CLKT ! 250: Countdown for real interval timer, ! 251: .IR setitimer (2) ! 252: measured in clock ticks (10 milliseconds). ! 253: .PD ! 254: .TP ! 255: .B \-t ! 256: Print table for terminals ! 257: with these headings: ! 258: .IP RAW ! 259: Number of characters in raw input queue. ! 260: .PD 0 ! 261: .IP CAN ! 262: Number of characters in canonicalized input queue. ! 263: .IP OUT ! 264: Number of characters in putput queue. ! 265: .IP MODE ! 266: See ! 267: .IR tty (4). ! 268: .IP ADDR ! 269: Physical device address. ! 270: .IP DEL ! 271: Number of delimiters (newlines) in canonicalized input queue. ! 272: .IP COL ! 273: Calculated column position of terminal. ! 274: .IP STATE ! 275: Miscellaneous state variables encoded thus: ! 276: .RS ! 277: .IP W ! 278: waiting for open to complete ! 279: .IP O ! 280: open ! 281: .IP S ! 282: has special (output) start routine ! 283: .IP C ! 284: carrier is on ! 285: .IP B ! 286: busy doing output ! 287: .IP A ! 288: process is awaiting output ! 289: .IP X ! 290: open for exclusive use ! 291: .IP H ! 292: hangup on close ! 293: .RE ! 294: .IP PGRP ! 295: Process group for which this is controlling terminal. ! 296: .IP DISC ! 297: Line discipline; blank is old tty OTTYDISC or ``new tty'' for NTTYDISC ! 298: or ``net'' for NETLDISC (see ! 299: .IR bk (4)). ! 300: .PD ! 301: .TP ! 302: .B \-u ! 303: print information about a user process; ! 304: the next argument is its address as given ! 305: by ! 306: .IR ps (1). ! 307: The process must be in main memory, or the file used can ! 308: be a core image and the address 0. ! 309: .TP ! 310: .B \-f ! 311: Print the open file table with these headings: ! 312: .IP LOC ! 313: The core location of this table entry. ! 314: .IP TYPE ! 315: The type of object the file table entry points to. ! 316: .PD 0 ! 317: .IP FLG ! 318: Miscellaneous state variables encoded thus: ! 319: .RS ! 320: .IP R ! 321: open for reading ! 322: .IP W ! 323: open for writing ! 324: .IP A ! 325: open for appending ! 326: .RE ! 327: .IP CNT ! 328: Number of processes that know this open file. ! 329: .IP INO ! 330: The location of the inode table entry for this file. ! 331: .IP OFFS/SOCK ! 332: The file offset (see ! 333: .IR lseek (2)), ! 334: or the core address of the associated socket structure. ! 335: .PD ! 336: .PP ! 337: .B \-s ! 338: print information about swap space usage: the number of (1k byte) pages used ! 339: and free is given as well as the number of used pages which belong ! 340: to text images. ! 341: .PP ! 342: .B \-T ! 343: prints the number of used and free slots in the several system tables ! 344: and is useful for checking to see how full system tables have become if the ! 345: system is under heavy load. ! 346: .SH FILES ! 347: .ta \w'/dev/kmem 'u ! 348: /vmunix namelist ! 349: .br ! 350: /dev/kmem default source of tables ! 351: .SH SEE ALSO ! 352: ps(1), ! 353: stat(2), ! 354: fs(5) ! 355: .br ! 356: K. Thompson, ! 357: .I UNIX Implementation ! 358: .SH BUGS ! 359: It would be very useful if the system recorded \*(lqmaximum occupancy\*(rq ! 360: on the tables reported by ! 361: .B \-T; ! 362: even more useful if these tables were dynamically allocated.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.