Skip Navigation Links | |
Exit Print View | |
man pages section 1M: System Administration Commands Oracle Solaris 11.1 Information Library |
- report per-processor or per-processor-set statistics
/usr/bin/mpstat [-amq] [-A core|soc|bins] [-k keys] [-o num] [-p | -P set] [-T d | u] [-I statfile] [-O statfile] [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:
Processor ID for which statistics are shown, when the -a and -A options are omitted.
Processor set ID for which statistics are aggregated, for the -a option.
Core ID for which statistics are aggregated, for the -A core option.
Socket ID for which statistics are aggregated, for the -A soc option.
Bin ordinal for which statistics are aggregated, for the -A bins option.
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)
spins on readers/writer locks (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:
Aggregate output by processor set. Sort the output by set. The default output is sorted by CPU number.
Aggregate CPU output by core ID. Data rows having the same core ID are aggregated into one row. The columns are replaced with subtotals, by default. The -m option prints column averages, instead.
The -A option is incompatible with the -a option for aggregating by processor set.
Aggregate CPU output by socket ID. Data rows having the same socket ID are aggregated into one row. The columns are replaced with subtotals, by default. The -m option prints column averages, instead.
The -A option is incompatible with the -a option for aggregating by processor set.
Aggregate the rows into bins within each sampling period, grouping them in the order in which they appear, and aggregate over rows for each bin. The -k option may be used to change the row order prior to the binning step. The sze column prints the number of CPUs in each bin. The BIN column replaces the CPU column and prints the ordinal of each bin.
Aggregation by ID (-A core|soc) is processed before sorting (-k). Grouping by bins (-A bins) is done next. Finally, the number of output lines printed per interval may be limited by -o.
The -A option is incompatible with the -a option for aggregating by processor set.
Replay data previously saved in statfile. Create data files for replay by specifying -O. This option is especially useful for analyzing statistics on machines with large numbers of CPUs. The file may be reprocessed multiple times using different sorting and aggregation options.
The -I option is incompatible with an interval and count specification.
Read from the standard input if the file name is — (hyphen).
Sort rows within each sampling period from highest to lowest by key1, then key2, and so on. Each key may be any of the column headers such as xcal, intr, sys, and so forth.
Print the arithmetic mean value rather than the sum when the -a or -A options are used to aggregate data over multiple CPUs.
Print only the first num rows within each sampling period, after applying sorting and aggregation options.
Save all data to statfile. This data may be replayed at a later time using -I.
Write to the standard output if the file name is — (hyphen).
The purpose of -O is to capture all available data. It is incompatible with the data reduction options: -a, -A, -k, -m, -o, -p, and -P.
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.
On displays of 80–character width, example output below wraps by one to seven characters. By making a window wider, you can eliminate this wrap.
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
Example 2 Displaying CPUs That Meet Filter Requirement
The following command displays the three CPUs with the highest intr rates.
example% mpstat -k intr -o 3 CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl 56 1143 5 975 4238 82 465 74 53 124 0 198163 42 17 0 41 123 1189 6 1315 1030 890 461 65 53 122 0 24383 27 12 0 62 4 1184 5 1040 149 70 502 73 55 113 0 82039 31 13 0 56
Example 3 Aggregating Multiple CPUs into Quartiles
The following command aggregates 256 CPUs into quartiles by sys time.
example% mpstat -A 4 -k sys BIN minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl sze 0 18 0 5811 7105 1 22154 17 9529 1176 0 72 1 79 0 19 64 1 0 0 4624 1006 12 1321 42 418 175 0 3591 36 37 0 27 64 2 1195 5 1056 92 10 526 74 56 104 0 45876 27 12 0 61 64 3 0 0 2 18 8 10 0 0 0 0 1 0 0 0 100 64
Example 4 Saving Statistics for Later Reprocessing
The following command saves statistics for later reprocessing and aggregates by core ID on a machine with eight CPUs per core.
example% mpstat -O /tmp/t1; mpstat -I /tmp/t1 -A core COR minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl sze 514 0 0 124 45 0 21 0 3 1 0 0 0 3 0 97 8 521 0 0 16 5 0 1 0 0 0 0 0 0 0 0 100 8 528 0 0 11 5 0 3 0 0 0 0 0 0 0 0 100 8 535 0 0 7 4 0 1 0 0 0 0 0 0 0 0 100 8 542 0 0 7 4 0 1 0 0 0 0 0 0 0 0 100 8 549 0 0 10 4 0 1 0 0 0 0 0 0 0 0 100 8 556 0 0 10 5 0 1 0 0 0 0 0 0 0 0 100 8 563 0 0 8 4 0 1 0 0 0 0 0 0 0 0 100 8
See attributes(5) for descriptions of the following attributes:
|
Invocation is evolving. Human readable output is unstable.
sar(1), date(1), iostat(1M), sar(1M), vmstat(1M), time(2), attributes(5)
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(1M) for more information.
When executing in a zone and if the pools facility is active, mpstat(1M) will only provide information for those processors which are a member of the processor set of the pool to which the zone is bound.