跳过导航链接 | |
退出打印视图 | |
手册页第 1M 部分:系统管理命令 Oracle Solaris 11.1 Information Library (简体中文) |
- 报告每处理器或每处理器集统计信息
/usr/bin/mpstat [-amq] [-A core|soc|bins] [-k keys] [-o num] [-p | -P set] [-T d | u] [-I statfile] [-O statfile] [interval [count]]
mpstat 命令以表格形式报告处理器统计信息。表中的每一行代表一个处理器的活动。第一个表汇总自引导后的所有活动。后续的每一个表汇总上一间隔期间的活动。除非另有说明,否则所有值都将是作为每秒的事件数列出的速率。
执行内核状态命令期间,可以更改内核的 state。如果相关,状态更改消息会包括在 mpstat 输出中,以下列形式之一显示:
<<processor 3 moved from pset: -1 to: 1>> <<pset destroyed: 1>> <<pset created: 1>> <<processors added: 1, 3>> <<processors removed: 1, 3>>
mpstat 命令报告以下信息:
当省略了 -a 和 -A 选项时,是为其显示统计信息的处理器 ID。
对于 -a 选项,是为其聚合统计信息的处理器集 ID。
对于 -A core 选项,是为其聚合统计信息的核心 ID。
对于 -A soc 选项,是针对其聚合统计信息的套接字 ID。
对于 -A bins 选项,是针对其聚合统计信息的 Bin 序号。
较小的故障
较大的故障
处理器间的交叉调用
中断
作为线程的中断(不是对时钟中断进行计数)
上下文切换
偶然上下文切换
线程迁移(至其他处理器)
互斥锁上的自旋锁(第一次尝试时未获得锁)
读取器/写入器锁上的自旋锁(第一次尝试时未获得锁)
系统调用
用户时间百分比
系统时间百分比
I/O 等待时间不再以 CPU 时间的百分比来计算,该统计将始终返回零。
空闲时间百分比
请求的处理器集中的处理器数
每个 CPU 的处理器集成员关系
支持以下选项:
按处理器集聚合输出。按处理器集对输出排序。缺省输出是按 CPU 编号排序。
按核心 ID 聚合 CPU 输出。具有相同核心 ID 的数据行将聚合到一个行中。缺省情况下,列将替换为小计。而 -m 选项将输出列平均值。
-A 选项与用于按处理器集进行聚合的 -a 选项不兼容。
按套接字 ID 聚合 CPU 输出。具有相同套接字 ID 的数据行聚合为一行。缺省情况下,列将替换为小计。而 -m 选项将输出列平均值。
-A 选项与用于按处理器集进行聚合的 -a 选项不兼容。
将每个抽样期间内的行聚合到容器 (bin) 中,按其出现顺序对其分组,并针对每个 bin 聚合行。在执行 bin 聚合步骤之前,可以使用 -k 选项来更改行顺序。sze 列会输出每个 bin 中的 CPU 数。BIN 列替换 CPU 列并输出每个 bin 的序号。
先处理按 ID (-A core|soc) 的聚合,然后进行排序 (-k)。接下来按 bin (-A bins) 进行分组。最后,每个间隔输出的输出行的数量可能会受 -o 限制。
-A 选项与用于按处理器集进行聚合的 -a 选项不兼容。
重放之前保存在 statfile 中的数据。通过指定 -O 来创建用于重放的数据文件。该选项尤其适用于分析具有大量 CPU 的计算机的统计信息。可以使用不同的排序和聚合选项对文件进行多次重新处理。
-I 选项不能与 interval 和 count 一起指定。
如果文件名称为 —(连字符),则将从标准输入进行读取。
每个抽样期间内的行依次按照 key1、key2 等从高到低排序。每个 key 可以是任何列标题,例如 xcal、intr、sys 等。
当使用 -a 或 -A 选项来聚合多个 CPU 的数据时,将输出算术平均值而不是总和。
在应用排序和聚合选项后,仅输出每个抽样期间内的前 num 行。
将所有数据保存到 statfile 中。以后可以使用 -I 重放该数据。
如果文件名为 —(连字符),则将写入到标准输出。
-O 的用途是捕获所有的可用数据。它与以下数据缩减选项不兼容:-a、-A、-k、-m、-o、-p 和 -P。
报告每个 CPU 的处理器集成员关系。按处理器集对输出排序。缺省输出是按 CPU 编号排序。
只显示指定 set 中的处理器。
隐藏与状态更改相关的消息。
指定 u 表示时间的内部表示形式的印刷表示形式。请参见 time(2)。指定 d 表示标准日期格式。请参见date(1)。
每 interval 秒报告一次。
只输出 count 报告。
在 80 个字符宽的显示屏上,下面的示例输出会将一到七个字符进行换行。通过将窗口变宽,可以避免此换行。
示例 1 使用 mpstat 生成用户和系统操作统计信息
以下命令按照五秒钟间隔在两个报告中生成处理器统计信息。该命令显示每个 CPU 的处理器集成员关系。用户 (usr) 和系统 (sys) 操作的缺省输出按 CPU 编号排序,按处理器集聚合。
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
示例 2 显示符合过滤要求的 CPU。
以下命令显示 intr 比率最高的三个 CPU。
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
示例 3 将多个 CPU 聚合为四组(按四分位数分组)
以下命令按 sys 时间将 256 CPU 聚合为四组(按四分位数分组)。
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
示例 4 保存统计信息供以后处理
以下命令将保存统计信息供以后处理,并按计算机的核心 ID 聚合统计信息(每个核心八个 CPU)。
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
有关下列属性的说明,请参见 attributes(5):
|
调用正在发展中。用户可读的输出不稳定。
sar(1)、date(1)、iostat(1M)、sar(1M)、vmstat(1M)、time(2)、attributes(5)
由于生成的百分比数字存在舍入误差,CPU 使用总量可能与 100 略有差别。
用于 CPU 处理的总时间是针对用户和系统操作报告的 usr 和 sys 输出值的总和。idl 值报告 CPU 因暂停磁盘 I/O 操作以外的其他任何原因而处于空闲状态的时间。
运行带有 -x 选项的 iostat 命令可以报告 svc_t 输出中的 I/O 服务时间。iostat 实用程序也报告相同的 wt、用户 (us) 以及系统 (sy) 统计信息。有关更多信息,请参见 iostat(1M)。
在 zone 中执行时,如果池工具处于活动状态,mpstat(1M) 仅提供该 zone 绑定到的池中的处理器集内的那些处理器的信息。