MPS(1) General Commands Manual MPS(1)
mps - display the status of current processes on an MP system
/usr/kvm/mps [ [-]acCegjklnrSuUvwx ][ -tx ]|[ num ]
[ kernel-name ] [ c-dump-file ] [ swap-file ]
This program is only available on sun4m architectures.
mps displays information about processes on an MP system. mps is iden-
tical to ps(1) except that the CPU field was added to show the cpu num-
ber the process is or was running on. Normally, only those processes
that are running with your effective user ID and are attached to a con-
trolling terminal (see termio(4)) are shown. Additional categories of
processes can be added to the display using various options. In par-
ticular, the -a option allows you to include processes that are not
owned by you (that do not have your user ID), and the -x option allows
you to include processes without control terminals. When you specify
both -a and -x, you get processes owned by anyone, with or without a
control terminal. The -r option restricts the list of processes
printed to "running" processes: runnable processes, those in page wait,
or those in short-term non-interruptible waits.
mps displays the process ID, under PID; the control terminal (if any),
under TT; the cpu time used by the process so far, including both user
and system time), under TIME; the state of the process, under STAT; and
finally, an indication of the COMMAND that is running.
The state is given by a sequence of four letters, for example, `RWNA'.
First letter indicates the runnability of the process:
R Runnable processes.
T Stopped processes.
P Processes in page wait.
D Processes in non-interruptible waits; typically
short-term waits for disk or NFS I/O.
S Processes sleeping for less than about 20 sec-
I Processes that are idle (sleeping longer than
about 20 seconds).
Z Processes that have terminated and that are
waiting for their parent process to do a
wait(2V) ("zombie" processes).
Second letter indicates whether a process is swapped out;
blank Represented as a SPACE character, in this posi-
tion indicates that the process is loaded (in
W Process is swapped out.
>> Process has specified a soft limit on memory
requirements and has exceeded that limit; such a
process is (necessarily) not swapped.
Third letter indicates whether a process is running with altered CPU
scheduling priority (nice(1)):
blank Represented as a SPACE character, in this posi-
tion indicates that the process is running with-
out special treatment.
N The process priority is reduced,
<< The process priority has been raised artifi-
Fourth letter indicates any special treatment of the process for vir-
tual memory replacement. The letters correspond to
options to the vadvise(2) system call. Currently the
blank Represented as a SPACE character, in this posi-
tion stands for VA_NORM.
A Stands for VA_ANOM. An A typically represents a
program which is doing garbage collection.
S Stands for VA_SEQL. An S is typical of large
image processing programs that are using virtual
memory to sequentially address voluminous data.
kernel-name specifies the location of the system namelist. If the -k
option is given, c-dump-file tells mps where to look for the core dump.
Otherwise, the core dump is located in the file /vmcore and this argu-
ment is ignored. swap-file gives the location of a swap file other
than the default, /dev/drum.
Options must all be combined to form the first argument.
-a Include information about processes owned by others.
-c Display the command name, as stored internally in the system for
accounting purposes, rather than the command arguments, which are
kept in the process address space. This is more reliable, if less
informative, as the process is free to destroy the latter informa-
-C Display raw CPU time instead of the decaying average in the %CPU
-e Display the environment as well as the arguments to the command.
-g Display all processes. Without this option, mps prints only
"interesting" processes. Processes are deemed to be uninteresting
if they are process group leaders. This normally eliminates top-
level command interpreters and processes waiting for users to
login on free terminals.
-j Display a listing useful for job control information, with fields
PPID, PID, PGID, SID, TT, TPGID, STAT, UID, TIME, and COMMAND as
With this option, the STAT field has three additional letters:
C indicates the process does not want SIGCHLD when a child
changes state done to job control.
E The process has completed an exec, and the parent can no
longer change the process group of this process.
O The process is an orphan, with no parent process to handle
job control signals.
-k Normally, kernel-name defaults to /vmunix, c-dump-file is ignored,
and swap-file defaults to /dev/drum. With the -k option in
effect, these arguments default to /vmunix, /vmcore, and
-l Display a long listing, with fields F, PPID, CP, PRI, NI, SZ, RSS,
and WCHAN, as described below.
-n Produce numeric output for some fields. In a long listing, the
WCHAN field is printed numerically rather than symbolically, or,
in a user listing, the USER field is replaced by a UID field.
-r Restrict output to "running" processes.
-S Display accumulated CPU time used by this process and all of its
-u Display user-oriented output. This includes fields USER, %CPU,
%MEM, SZ, RSS and START as described below.
-U Update a private database where mps keeps system information.
Include `mps -U' in the /etc/rc file.
-v Display a version of the output describing virtual memory informa-
tion. This includes fields RE, SL, PAGEIN, SIZE, RSS, LIM, %CPU
and %MEM, described below.
-w Use a wide output format (132 columns rather than 80); if
repeated, that is, -ww, use arbitrarily wide output. This infor-
mation is used to decide how much of long commands to print.
-x Include processes with no controlling terminal.
The following two options are mutually exclusive. When specified,
these options must appear immediately following the last option.
-tx Restrict output to processes whose controlling terminal is x
(which should be specified as printed by mps; for example, t3
for /dev/tty3, tco for /dev/console, td0 for /dev/ttyd0, t? for
processes with no terminal, etc). This option must be the last
num A process number may be given, in which case the output is
restricted to that process. This option must also be last, and
must appear with no white space between it and the previous
Fields that are not common to all output formats:
USER Name of the owner of the process.
%CPU CPU use of the process; this is a decaying average over up
to a minute of previous (real) time. Because the time base
over which this is computed varies (since processes may be
very young) it is possible for the sum of all %CPU fields
to exceed 100%.
NI Process scheduling increment (see getpriority(2) and
SZ The combined size of the data and stack segments (in kilo-
RSS Real memory (resident set) size of the process (in kilo-
LIM Soft limit on memory used, specified using a call to getr-
limit(2); if no limit has been specified, this is shown as
%MEM Percentage of real memory used by this process.
RE Residency time of the process (seconds in core).
SL Sleep time of the process (seconds blocked).
PAGEIN Number of disk I/Os resulting from references by the
process to pages not loaded in core.
UID Numeric user-ID of process owner.
PPID Numeric ID of parent of process.
SID Numeric ID of the session to which the process belongs. SID
= PGID = PID indicates a session leader.
PGID Numeric ID of the process group of the process.
TPGID Numeric ID of the process group associated with the termi-
nal specified under TT (distinguished process group, see
CP Short-term CPU utilization factor (used in scheduling).
PRI Process priority (non-positive when in non-interruptible
START Time the process was created if today, or the date it was
created if before today.
WCHAN Event on which process is waiting (an address in the sys-
tem). A symbol is chosen that classifies the address,
unless numeric output is requested (see the n flag). In
this case, the address is printed in hexadecimal.
CPU Relationship between process and processor. Under the CPU
field, the cpu number the process is or was running on is
F Flags (in hex) associated with process as in <sys/proc.h>:
; lfB l l . SLOAD 00000001 in core
SSYS 00000002 swapper or pager process
SLOCK 00000004 process being swapped out
SSWAP 00000008 save area flag STRC 00000010 process
is being traced SWTED 00000020 parent has been told
that this process stopped
SULOCK 00000040 user can set lock in core
SPAGE 00000080 process in page wait state
SKEEP 00000100 another flag to prevent swap
out SOMASK 00000200 restore old mask after
taking signal SWEXIT 00000400 working on
exiting SPHYSIO 00000800 doing physical I/O
SVFORK 00001000 process resulted from vfork()
SVFDONE 00002000 another vfork flag
SNOVM 00004000 no vm, parent in a vfork()
SPAGI 00008000 init data space on demand,
from vnode SSEQL 00010000 user warned of
sequential vm behavior SUANOM 00020000 user
warned of anomalous vm behavior
STIMO 00040000 timing out during sleep SOR-
PHAN 00080000 process is orphaned
STRACNG 00100000 process is tracing another
process SOWEUPC 00200000 process is being pro-
filed and has a pending count increment
SSEL 00400000 selecting; wakeup/waiting danger
SFAVORD 02000000 favored treatment in swapout
and pageout SLKDONE 04000000 record-locking has been
done STRCSYS 08000000 tracing system calls
SNOCLDSTOP 10000000 SIGCHLD not sent when
child stops SEXECED 20000000 process has com-
pleted an exec SRPC 40000000 sunview window
A process that has exited and has a parent, but has not yet been waited
for by the parent, is marked <defunct>; a process that is blocked try-
ing to exit is marked <exiting>; otherwise, mps makes an educated guess
as to the file name and arguments given when the process was created by
examining memory or the swap area.
The environment variables LC_CTYPE, LANG, and LC_default control the
character classification throughout mps. On entry to mps, these envi-
ronment variables are checked in the following order: LC_CTYPE, LANG,
and LC_default. When a valid value is found, remaining environment
variables for character classification are ignored. For example, a new
setting for LANG does not override the current valid character classi-
fication rules of LC_CTYPE. When none of the values is valid, the
shell character classification defaults to the POSIX.1 "C" locale.
/vmunix system namelist
/dev/kmem kernel memory
/dev/drum swap device
/vmcore core file
/dev searched to find swap device and terminal names
/etc/psdatabase system namelist, device, and wait channel informa-
kill(1), w(1), getpriority(2), getrlimit(2), wait(2V), vadvise(2),
nice(3V), termio(4), locale(5), pstat(8), mpstat(1)
Things can change while mps is running; the picture it gives is only a
close approximation to the current state.
6 March 1991 MPS(1)