Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
/usr/bin/mpstat [-aq] [-p | -P set] [-T u | d] [interval [count]]
The mpstat command reports processor statistics in tabular form. Each row of the table represents the activity of one processor. The first table summarizes all activity since boot. Each subsequent table summarizes activity for the preceding interval. All values are rates listed as events per second unless otherwise noted.
During execution of the kernel status command, the state of the kernel can change. If relevant, a state change message is included in the mpstat output, in one of the following forms:
<<processor 3 moved from pset: -1 to: 1>> <<pset destroyed: 1>> <<pset created: 1>> <<processors added: 1, 3>> <<processors removed: 1, 3>>
The mpstat command reports the following information: CPU or SET
Without the -a option, mpstat reports CPU statistics for a processor ID. With the -a option, mpstat reports SET statistics for a processor set ID.
minor faults
major faults
inter-processor cross-calls
interrupts
interrupts as threads (not counting clock interrupt)
context switches
involuntary context switches
thread migrations (to another processor)
spins on mutexes (lock not acquired on first try)
system calls
percent user time
percent system time
the I/O wait time is no longer calculated as a percentage of CPU time, and this statistic will always return zero.
percent idle time
number of processors in the requested processor set
processor set membership of each CPU
The following options are supported: -a
Aggregate output by processor set. Sort the output by set. The default output is sorted by CPU number.
Report processor set membership of each CPU. Sort the output by set. The default output is sorted by CPU number.
Display only those processors in the specified set.
Suppress messages related to state changes.
Specify u for a printed representation of the internal representation of time. See time(2). Specify d for standard date format. See date(1).
Report once each interval seconds.
Only print count reports.
Example 1 Using mpstat to Generate User and System Operation Statistics
The following command generates processor statistics over a five-second interval in two reports. The command shows the processor set membership of each CPU. The default output is sorted by CPU number, aggregated by processor set, for user (usr) and system (sys) operations.
example% mpstat -ap 5 2
SET minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl sze
0 6 0 355 291 190 22 0 0 0 0 43 0 2 0 43 1
1 24 17 534 207 200 70 1 0 2 0 600 4 1 0 84 2
2 19 7 353 325 318 44 0 0 5 0 345 1 1 0 94 3
3 36 2 149 237 236 14 0 0 4 0 97 0 0 0 98 2
SET minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl sze
0 1 0 720 405 304 55 0 0 18 0 12 0 15 0 81 1
1 0 69 1955 230 200 313 33 4 41 9 7086 34 10 0 19 2
2 0 46 685 314 300 203 11 0 54 1 5287 36 6 0 28 3
3 0 0 14 386 384 0 0 0 0 0 0 0 0 0 100 2
See attributes(7) for descriptions of the following attributes:
ATTRIBUTE TYPE ATTRIBUTE VALUE |
Interface Stability See below. |
Invocation is evolving. Human readable output is unstable.
date (1), sar (1), time (2), attributes (7), iostat (8), sar (8), vmstat (8)
The sum of CPU utilization might vary slightly from 100 due to rounding errors in the production of a percentage figure.
The total time used for CPU processing is the sum of usr and sys output values, reported for user and system operations. The idl value reports the time that the CPU is idle for any reason other than pending disk I/O operations.
Run the iostat command with the -x option to report I/O service times in svc_t output. The iostat utility also reports the same wt, user (us), and system (sy) statistics. See iostat(8) for more information.
When executing in a zone and if the pools facility is active, mpstat(8) will only provide information for those processors which are a member of the processor set of the pool to which the zone is bound.