'\" te .\" Copyright (c) 2004, 2014, Oracle and/or its affiliates.All rights reserved. .TH mpstat 1M "2014 年 9 月 9 日" "SunOS 5.11" "系统管理命令" .SH 名称 mpstat \- 报告每处理器或每处理器集统计信息 .SH 用法概要 .LP .nf \fB/usr/bin/mpstat\fR [\fB-amq\fR] [-A core|soc|\fIbins\fR] [-k keys] [-o num] [\fB-p\fR | \fB-P\fR \fIset\fR] [\fB-T\fR d | u] [-I statfile] [-O statfile] [\fIinterval\fR [\fIcount\fR]] .fi .SH 描述 .sp .LP \fBmpstat\fR 命令以表格形式报告处理器统计信息。表中的每一行代表一个处理器的活动。第一个表汇总自引导后的所有活动。后续的每一个表汇总上一间隔期间的活动。除非另有说明,否则所有值都将是作为每秒的事件数列出的速率。 .sp .LP 执行内核状态命令期间,可以更改内核的 \fBstate\fR。如果相关,状态更改消息会包括在 \fBmpstat\fR 输出中,以下列形式之一显示: .sp .in +2 .nf <> <> <> <> <> .fi .in -2 .sp .sp .LP \fBmpstat\fR 命令报告以下信息: .sp .ne 2 .mk .na \fB\fBCPU\fR|\fBSET\fR|\fBCOR\fR|\fBSOC\fR|\fBBIN\fR\fR .ad .sp .6 .RS 4n .sp .ne 2 .mk .na \fB\fBCPU\fR\fR .ad .sp .6 .RS 4n 当省略了 \fB-a\fR 和 \fB-A\fR 选项时,是为其显示统计信息的处理器 ID。 .RE .sp .ne 2 .mk .na \fB\fBSET\fR\fR .ad .sp .6 .RS 4n 对于 \fB-a\fR 选项,是为其聚合统计信息的处理器集 ID。 .RE .sp .ne 2 .mk .na \fB\fBCOR\fR\fR .ad .sp .6 .RS 4n 对于 \fB-A\fR \fBcore\fR 选项,是为其聚合统计信息的核心 ID。 .RE .sp .ne 2 .mk .na \fB\fBSOC\fR\fR .ad .sp .6 .RS 4n 对于 \fB-A\fR \fBsoc\fR 选项,是针对其聚合统计信息的套接字 ID。 .RE .sp .ne 2 .mk .na \fB\fBBIN\fR\fR .ad .sp .6 .RS 4n 对于 \fB-A\fR \fIbins\fR 选项,是针对其聚合统计信息的 Bin 序号。 .RE .RE .sp .ne 2 .mk .na \fB\fBminf\fR\fR .ad .sp .6 .RS 4n 较小的故障 .RE .sp .ne 2 .mk .na \fB\fBmjf\fR\fR .ad .sp .6 .RS 4n 较大的故障 .RE .sp .ne 2 .mk .na \fB\fBxcal\fR\fR .ad .sp .6 .RS 4n 处理器间的交叉调用 .RE .sp .ne 2 .mk .na \fB\fBintr\fR\fR .ad .sp .6 .RS 4n 中断 .RE .sp .ne 2 .mk .na \fB\fBithr\fR\fR .ad .sp .6 .RS 4n 作为线程的中断(不是对时钟中断进行计数) .RE .sp .ne 2 .mk .na \fB\fBcsw\fR\fR .ad .sp .6 .RS 4n 上下文切换 .RE .sp .ne 2 .mk .na \fB\fBicsw\fR\fR .ad .sp .6 .RS 4n 偶然上下文切换 .RE .sp .ne 2 .mk .na \fB\fBmigr\fR\fR .ad .sp .6 .RS 4n 线程迁移(至其他处理器) .RE .sp .ne 2 .mk .na \fB\fBsmtx\fR\fR .ad .sp .6 .RS 4n 互斥锁上的自旋锁(第一次尝试时未获得锁) .RE .sp .ne 2 .mk .na \fB\fBsrw\fR\fR .ad .sp .6 .RS 4n 读取器/写入器锁上的自旋锁(第一次尝试时未获得锁) .RE .sp .ne 2 .mk .na \fB\fBsyscl\fR\fR .ad .sp .6 .RS 4n 系统调用 .RE .sp .ne 2 .mk .na \fB\fBusr\fR\fR .ad .sp .6 .RS 4n 用户时间百分比 .RE .sp .ne 2 .mk .na \fB\fBsys\fR\fR .ad .sp .6 .RS 4n 系统时间百分比 .RE .sp .ne 2 .mk .na \fB\fBst\fR\fR .ad .sp .6 .RS 4n 虚拟机管理程序所用 \fBCPU\fR 时间的百分比。在物理硬件上运行时,始终为零。 .RE .sp .ne 2 .mk .na \fB\fBidl\fR\fR .ad .sp .6 .RS 4n 空闲时间百分比 .RE .sp .ne 2 .mk .na \fB\fBsze\fR\fR .ad .sp .6 .RS 4n 请求的处理器集中的处理器数 .RE .sp .ne 2 .mk .na \fB\fBset\fR\fR .ad .sp .6 .RS 4n 每个 \fBCPU\fR 的处理器集成员关系 .RE .SH 选项 .sp .LP 支持以下选项: .sp .ne 2 .mk .na \fB\fB-a\fR\fR .ad .sp .6 .RS 4n 按处理器集聚合输出。按处理器集对输出排序。缺省输出是按 \fBCPU\fR 编号排序。 .RE .sp .ne 2 .mk .na \fB\fB-A\fR \fBcore\fR\fR .ad .sp .6 .RS 4n 按核心 ID 聚合 CPU 输出。具有相同核心 ID 的数据行将聚合到一个行中。缺省情况下,列将替换为小计。而 \fB-m\fR 选项将输出列平均值。 .sp \fB-A\fR 选项与用于按处理器集进行聚合的 \fB-a\fR 选项不兼容。 .RE .sp .ne 2 .mk .na \fB\fB-A\fR \fBsoc\fR\fR .ad .sp .6 .RS 4n 按套接字 ID 聚合 CPU 输出。具有相同套接字 ID 的数据行聚合为一行。缺省情况下,列将替换为小计。而 \fB-m\fR 选项将输出列平均值。 .sp \fB-A\fR 选项与用于按处理器集进行聚合的 \fB-a\fR 选项不兼容。 .RE .sp .ne 2 .mk .na \fB\fB-A\fR \fIbins\fR\fR .ad .sp .6 .RS 4n 将每个抽样期间内的行聚合到容器 (bin) 中,按其出现顺序对其分组,并针对每个 bin 聚合行。在执行 bin 聚合步骤之前,可以使用 \fB-k\fR 选项来更改行顺序。\fBsze\fR 列会输出每个 bin 中的 CPU 数。\fBBIN\fR 列替换 \fBCPU\fR 列并输出每个 bin 的序号。 .sp 先处理按 ID (\fB-A\fR \fBcore\fR|\fBsoc\fR) 的聚合,然后进行排序 (\fB-k\fR)。接下来按 bin (\fB-A\fR \fIbins\fR) 进行分组。最后,每个间隔输出的输出行的数量可能会受 \fB-o \fR 限制。 .sp \fB-A\fR 选项与用于按处理器集进行聚合的 \fB-a\fR 选项不兼容。 .RE .sp .ne 2 .mk .na \fB\fB-I\fR \fIstatfile\fR\fR .ad .sp .6 .RS 4n 重放之前保存在 \fIstatfile\fR 中的数据。通过指定 \fB-O\fR 来创建用于重放的数据文件。该选项尤其适用于分析具有大量 CPU 的计算机的统计信息。可以使用不同的排序和聚合选项对文件进行多次重新处理。 .sp \fB-I\fR 选项不能与 interval 和 count 一起指定。 .sp 如果文件名称为 \fB—\fR(连字符),则将从标准输入进行读取。 .RE .sp .ne 2 .mk .na \fB\fB-k\fR \fIkey1\fR,...\fR .ad .sp .6 .RS 4n 每个抽样期间内的行依次按照 \fIkey1\fR、\fIkey2\fR 等从高到低排序。每个 key 可以是任何列标题,例如 \fBxcal\fR、\fBintr\fR、\fBsys\fR 等。 .RE .sp .ne 2 .mk .na \fB\fB-m\fR\fR .ad .sp .6 .RS 4n 当使用 \fB-a\fR 或 \fB-A\fR 选项来聚合多个 CPU 的数据时,将列显算术平均值而不是总和。 .RE .sp .ne 2 .mk .na \fB\fB-o\fR \fInum\fR\fR .ad .sp .6 .RS 4n 在应用排序和聚合选项后,仅列显每个抽样期间内的前 \fInum\fR 行。 .RE .sp .ne 2 .mk .na \fB\fB-O\fR \fIstatfile\fR\fR .ad .sp .6 .RS 4n 将所有数据保存到 \fIstatfile\fR 中。以后可以使用 \fB-I\fR 重放该数据。 .sp 如果文件名为 \fB—\fR(连字符),则将写入到标准输出。 .sp \fB-O\fR 的用途是捕获所有的可用数据。它与以下数据缩减选项不兼容:\fB-a\fR、\fB-A\fR、\fB-k\fR、\fB-m\fR、\fB-o\fR、\fB-p\fR 和 \fB-P\fR。 .RE .sp .ne 2 .mk .na \fB\fB-p\fR\fR .ad .sp .6 .RS 4n 报告每个 \fBCPU\fR 的处理器集成员关系。按处理器集对输出排序。缺省输出是按 \fBCPU\fR 编号排序。 .RE .sp .ne 2 .mk .na \fB\fB-P\fR \fIset\fR\fR .ad .sp .6 .RS 4n 只显示指定 \fIset\fR 中的处理器。 .RE .sp .ne 2 .mk .na \fB\fB-q\fR\fR .ad .sp .6 .RS 4n 隐藏与状态更改相关的消息。 .RE .sp .ne 2 .mk .na \fB\fB-T\fR \fBu\fR | \fBd\fR\fR .ad .sp .6 .RS 4n 指定 \fBu\fR 表示时间的内部表示形式的印刷表示形式。请参见 \fBtime\fR(2)。指定 \fBd\fR 表示标准日期格式。请参见\fBdate\fR(1)。 .RE .sp .ne 2 .mk .na \fB\fIinterval\fR\fR .ad .sp .6 .RS 4n 每 \fIinterval\fR 秒报告一次。 .RE .sp .ne 2 .mk .na \fB\fIcount\fR\fR .ad .sp .6 .RS 4n 只输出 \fIcount\fR 报告。 .RE .SH 示例 .sp .LP 在 80 个字符宽的显示屏上,下面的示例输出会将一到七个字符进行换行。通过将窗口变宽,可以避免此换行。 .LP \fB示例 1 \fR使用 \fBmpstat\fR 生成用户和系统操作统计信息 .sp .LP 以下命令按照五秒钟间隔在两个报告中生成处理器统计信息。该命令显示每个 \fBCPU\fR 的处理器集成员关系。用户 (\fBusr\fR) 和系统 (\fBsys\fR) 操作的缺省输出按 \fBCPU\fR 编号排序,按\fI处理器集\fR聚合。 .sp .in +2 .nf example% \fBmpstat -ap 5 2\fR SET minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys st 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 1 83 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 st 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 2 26 3 3 0 0 14 386 384 0 0 0 0 0 0 0 0 0 100 2 .fi .in -2 .sp .LP \fB示例 2 \fR显示符合过滤要求的 CPU。 .sp .LP 以下命令显示 \fBintr\fR 比率最高的三个 CPU。 .sp .in +2 .nf example% \fBmpstat -k intr -o 3\fR CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys st idl 56 1143 5 975 4238 82 465 74 53 124 0 198163 42 17 1 40 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 .fi .in -2 .sp .LP \fB示例 3 \fR将多个 CPU 聚合为四组(按四分位数分组) .sp .LP 以下命令按 \fBsys\fR 时间将 256 CPU 聚合为四组(按四分位数分组)。 .sp .in +2 .nf example% \fBmpstat -A 4 -k sys\fR BIN minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys st idl sze 0 18 0 5811 7105 1 22154 17 9529 1176 0 72 1 79 1 18 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 .fi .in -2 .sp .LP \fB示例 4 \fR保存统计信息供以后处理 .sp .LP 以下命令将保存统计信息供以后处理,并按计算机的核心 ID 聚合统计信息(每个核心八个 CPU)。 .sp .in +2 .nf example% \fBmpstat -O /tmp/t1; mpstat -I /tmp/t1 -A core\fR COR minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys st 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 1 99 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 .fi .in -2 .sp .SH 属性 .sp .LP 有关下列属性的说明,请参见 \fBattributes\fR(5): .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性类型属性值 _ 可用性system/core-os _ 接口稳定性请参见下文。 .TE .sp .LP 调用正在发展中。用户可读的输出不稳定。 .SH 另请参见 .sp .LP \fBsar\fR(1)、\fBdate\fR(1)、\fBiostat\fR(1M)、\fBsar\fR(1M)、\fBvmstat\fR(1M)、\fBtime\fR(2)、\fBattributes\fR(5) .SH 附注 .sp .LP 由于生成的百分比数字存在舍入误差,\fBCPU\fR 使用总量可能与 100 略有差别。 .sp .LP 用于 \fBCPU\fR 处理的总时间是针对用户和系统操作报告的 \fBusr\fR 和 \fBsys\fR 输出值的总和。\fBidl\fR 值报告 \fBCPU\fR 因暂停磁盘 I/O 操作以外的其他任何原因而处于空闲状态的时间。 .sp .LP 运行带有 \fB-x\fR 选项的 \fBiostat\fR 命令可以报告 \fBsvc_t\fR 输出中的 I/O 服务时间。\fBiostat\fR 实用程序也报告相同的 \fBst\fR、用户 (\fBus\fR) 以及系统 (\fBsy\fR) 统计信息。有关更多信息,请参见 \fBiostat\fR(1M)。 .sp .LP 在 \fBzone\fR 中执行时,如果池工具处于活动状态,\fBmpstat\fR(1M) 仅提供该 \fBzone\fR 绑定到的池中的处理器集内的那些处理器的信息。