prstat - report active process statistics
prstat [-acHJLmRrtTvVWZ] [-d u | d] [-C psrsetlist] [-h lgrplist]
[-j projlist] [-k tasklist] [-n ntop[,nbottom]]
[-p pidlist] [-P cpulist] [-s key | -S key ]
[-u euidlist] [-U uidlist] [-z zoneidlist] [-Z]
The prstat utility iteratively examines all active processes on the
system and reports statistics based on the selected output mode and
sort order. prstat provides options to examine only processes matching
specified PIDs, UIDs, zone IDs, CPU IDs, and processor set IDs.
The -j, -k, -C, -p, -P, -u, -U, and -z options accept lists as argu‐
ments. Items in a list can be either separated by commas or enclosed in
quotes and separated by commas or spaces.
If you do not specify an option, prstat examines all processes and
reports statistics sorted by CPU usage.
The following options are supported:
Report information about processes and users. In this mode prstat
displays separate reports about processes and users at the same
Print new reports below previous reports instead of overprinting
them. Long names are not truncated in this mode.
Report only processes or lwps that are bound to processor sets in
the given list. Each processor set is identified by an integer as
reported by psrset(1M). The load averages displayed are the sum of
the load averages of the specified processor sets (see pset_getloa‐
davg(3C)). Processes with one or more LWPs bound to processor sets
in the given list are reported even when the -L option is not used.
-d u | d
Specify u for a printed representation of the internal representa‐
tion of time. See time(2). Specify d for standard date format. See
Report only processes or lwps whose home lgroup is in the given
list of lgroups. No processes or lwps will be listed for invalid
Report information about home lgroup. In this mode, prstat adds an
extra column showing process or lwps home lgroup with the header
Report only processes or lwps whose project ID is in the given
list. Each project ID can be specified as either a project name or
a numerical project ID. See project(4).
Report information about processes and projects. In this mode
prstat displays separate reports about processes and projects at
the same time. A trailing asterisk marks a long name that has been
truncated to fit the column.
Report only processes or lwps whose task ID is in tasklist.
Report statistics for each light-weight process (LWP). By default,
prstat reports only the number of LWPs for each process.
Report microstate process accounting information. In addition to
all fields listed in -v mode, this mode also includes the percent‐
age of time the process has spent processing system traps, text
page faults, data page faults, waiting for user locks and waiting
for CPU (latency time).
Restrict number of output lines. The ntop argument determines how
many lines of process or lwp statistics are reported, and the nbot‐
tom argument determines how many lines of user, task, project or
zone statistics are reported if the -a, -t, -T, -J or -Z options
are specified. By default, prstat displays as many lines of output
that fit in a window or terminal. When you specify the -c option or
direct the output to a file, the default values for ntop and nbot‐
tom are 15 and 5.
Report only processes whose process ID is in the given list.
Report only processes or lwps which have most recently executed on
a CPU in the given list. Each CPU is identified by an integer as
reported by psrinfo(1M).
Put prstat in the real time scheduling class. When this option is
used, prstat is given priority over time-sharing and interactive
processes. This option is available only for superuser.
Disable lookups for user names and project names. (Note that this
does not apply to lookups for the -j, -u, or -U options.)
Sort output lines (that is, processes, lwps, or users) by key in
descending order. Only one key can be used as an argument.
There are five possible key values:
Sort by process CPU usage. This is the default.
Sort by process priority.
Sort by resident set size.
Sort by size of process image.
Sort by process execution time.
Sort output lines by key in ascending order. Possible key values
are the same as for the -s option. See -s.
Report total usage summary for each user. The summary includes the
total number of processes or LWPs owned by the user, total size of
process images, total resident set size, total cpu time, and per‐
centages of recent cpu time and system memory.
Report information about processes and tasks. In this mode prstat
displays separate reports about processes and tasks at the same
Report only processes whose effective user ID is in the given list.
Each user ID may be specified as either a login name or a numerical
Report only processes whose real user ID is in the given list. Each
user ID may be specified as either a login name or a numerical user
Report verbose process usage. This output format includes the per‐
centage of time the process has spent in user mode, in system mode,
and sleeping. It also includes the number of voluntary and involun‐
tary context switches, system calls and the number of signals
received. Statistics that are not reported are marked with the -
Report accurate aggregated SWAP and RSS values when used with the
-J, -t, -T or -Z options. This uses an accurate, but more expen‐
sive, calculation to determine the aggregated values for the speci‐
Truncate long names even when prstat would normally print them in
full. A trailing asterisk marks a long name that has been trun‐
cated to fit the column.
Report only processes or LWPs whose zone ID is in the given list.
Each zone ID can be specified as either a zone name or a numerical
zone ID. See zones(5).
Report information about processes and zones. In this mode, prstat
displays separate reports about processes and zones at the same
time. A trailing asterisk marks a long name that has been trun‐
cated to fit the column.
The following list defines the column headings and the meanings of a
The process ID of the process.
The real user (login) name or real user ID. A trailing asterisk
marks a long name that has been truncated to fit the column.
The total virtual memory size of the process, including all mapped
files and devices, in kilobytes (K), megabytes (M), or gigabytes
The resident set size of the process (RSS), in kilobytes (K),
megabytes (M), or gigabytes (G). The RSS value is an estimate pro‐
vided by proc(4) that might underestimate the actual per-process
resident set size and usually overestimates the aggregated resident
set size. Users who want to get more accurate usage information for
capacity planning should use either the -V option or, for per-
process results, the -x option to pmap(1) instead.
The state of the process:
Process is running on CPU N.
Sleeping: process is waiting for an event to complete.
Waiting: process is waiting for CPU usage to drop to the CPU-
caps enforced limits. See the description of CPU-caps in
Runnable: process in on run queue.
Zombie state: process terminated and parent not waiting.
Process is stopped.
The priority of the process. Larger numbers mean higher priority.
Nice value used in priority computation. Only processes in certain
scheduling classes have a nice value.
The cumulative execution time for the process.
The percentage of recent CPU time used by the process. If executing
in a non-global zone and the pools facility is active, the percent‐
age will be that of the processors in the processor set in use by
the pool to which the zone is bound.
The name of the process (name of executed file).
The lwp ID of the lwp being reported.
The number of lwps in the process.
With the some options, in addition to a number of the column headings
shown above, there are:
Number of processes in a specified collection.
Percentage of memory used by a specified collection of processes.
The following columns are displayed when the -v or -m option is speci‐
The percentage of time the process has spent in user mode.
The percentage of time the process has spent in system mode.
The percentage of time the process has spent in processing system
The percentage of time the process has spent processing text page
The percentage of time the process has spent processing data page
The percentage of time the process has spent waiting for user
The percentage of time the process has spent sleeping.
The percentage of time the process has spent waiting for CPU.
The number of voluntary context switches.
The number of involuntary context switches.
The number of system calls.
The number of signals received.
Under the -L option, one line is printed for each lwp in the process
and some reporting fields show the values for the lwp, not the process.
The following column is displayed when the -H option is specified:
The home lgroup of the process or lwp.
The following operands are supported:
Specifies the number of times that the statistics are repeated. By
default, prstat reports statistics until a termination signal is
Specifies the sampling interval in seconds; the default interval is
Example 1 Reporting the Five Most Active Super-User Processes
The following command reports the five most active super-user processes
running on CPU1 and CPU2:
example% prstat -u root -n 5 -P 1,2 1 1
PID USERNAME SWAP RSS STATE PRI NICE TIME CPU PROCESS/LWP
306 root 3024K 1448K sleep 58 0 0:00.00 0.3% sendmail/1
102 root 1600K 592K sleep 59 0 0:00.00 0.1% in.rdisc/1
250 root 1000K 552K sleep 58 0 0:00.00 0.0% utmpd/1
288 root 1720K 1032K sleep 58 0 0:00.00 0.0% sac/1
1 root 744K 168K sleep 58 0 0:00.00 0.0% init/1
TOTAL: 25, load averages: 0.05, 0.08, 0.12
Example 2 Displaying Verbose Process Usage Information
The following command displays verbose process usage information about
processes with lowest resident set sizes owned by users root and john.
example% prstat -S rss -n 5 -vc -u root,john
PID USERNAME USR SYS TRP TFL DFL LCK SLP LAT VCX ICX SCL SIG PROCESS/LWP
1 root 0.0 0.0 - - - - 100 - 0 0 0 0 init/1
102 root 0.0 0.0 - - - - 100 - 0 0 3 0 in.rdisc/1
250 root 0.0 0.0 - - - - 100 - 0 0 0 0 utmpd/1
1185 john 0.0 0.0 - - - - 100 - 0 0 0 0 csh/1
240 root 0.0 0.0 - - - - 100 - 0 0 0 0 powerd/4
TOTAL: 71, load averages: 0.02, 0.04, 0.08
The following exit values are returned:
An error occurred.
SEE ALSOdate(1), lgrpinfo(1), plgrp(1), proc(1), ps(1), time(2), psrinfo(1M),
psrset(1M), sar(1M), pset_getloadavg(3C), proc(4), project(4),
attributes(5), resource_controls(5), zones(5)NOTES
The snapshot of system usage displayed by prstat is true only for a
split-second, and it may not be accurate by the time it is displayed.
When the -m option is specified, prstat tries to turn on microstate
accounting for each process; the original state is restored when prstat
exits. See proc(4) for additional information about the microstate
The total memory size reported in the SWAP and RSS columns for groups
of processes can sometimes overestimate the actual amount of memory
used by processes with shared memory segments.
Jun 5, 2013 PRSTAT(1M)