Go to main content
マニュアルページ セク ション 1M: シ ステム管理コマン ド

印刷ビューの終了

更新: 2016年12月6日
 
 

mpstat(1M)

名前

mpstat - プロセッサごとまたはプロセッサセットごとの統計の報告

形式

/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 コマンドは、プロセッサ統計を表形式で報告します。表の各行は、1 つのプロセッサのアクティビティーを表します。最初の表では、ブート以降のすべてのアクティビティーが集計されます。以降の各表では、直前の間隔のアクティビティーが集計されます。特に注記がないかぎり、値はすべて 1 秒あたりのイベント数で示されるレートです。

カーネルステータスコマンドの実行中に、カーネルのステータスが変化することがあります。関連する場合は、次のいずれかの形式の状態変更メッセージが mpstat の出力に含まれます。

<<processor 3 moved from pset: -1 to: 1>>
<<pset destroyed: 1>>
<<pset created: 1>>
<<processors added: 1, 3>>
<<processors removed: 1, 3>>

mpstat コマンドは次の情報を報告します。

CPU|SET|COR|SOC|BIN
CPU

–a および –A オプションを省略したときに統計情報が表示されるプロセッサ ID。

SET

–a オプションの場合に、統計情報が集計されるプロセッサセット ID。

COR

–A core オプションの場合に、統計情報が集計されるコア ID。

SOC

–A soc オプションの場合に、統計情報が集計されるソケット ID。

BIN

–A bins オプションの場合に、統計情報が集計される bin の序数。

minf

軽度の障害

mjf

重大な障害

xcal

プロセッサ間のクロスコール

intr

割り込み

ithr

スレッドとしての割り込み (クロック割り込みはカウントしない)

csw

コンテキストスイッチ

icsw

自発的でないコンテキストスイッチ

migr

スレッドの移行 (別のプロセッサへの)

smtx

相互排他ロックでのスピン (最初の試行でロックが取得されなかった)

srw

読み取り/書き込みロックでのスピン (最初の試行でロックが取得されなかった)

syscl

システムコール

usr

ユーザー時間の割合 (パーセント)

sys

システム時間の割合 (パーセント)

st

ハイパーバイザによって占有された CPU 時間の割合。物理ハードウェア上で実行するときは常に 0。

idl

アイドル時間の割合 (パーセント)

sze

要求されたプロセッサセット内のプロセッサの数

set

各 CPU のプロセッサセットのメンバーシップ

オプション

サポートしているオプションは、次のとおりです。

–a

プロセッサセット別に出力を集計します。セット順に出力をソートします。デフォルトの出力は CPU 番号順にソートされます。

–A core

コア ID 別に CPU 出力を集計します。同じコア ID のデータ行は、1 行に集計されます。デフォルトでは、列は小計で置き換えられます。–m オプションでは、代わりに列の平均を出力します。

–A オプションには、プロセッサセット別に集計するための –a オプションとの互換性はありません。

–A soc

ソケット ID 別に CPU 出力を集計します。同じソケット ID のデータ行は、1 行に集計されます。デフォルトでは、列は小計で置き換えられます。–m オプションでは、代わりに列の平均を出力します。

–A オプションには、プロセッサセット別に集計するための –a オプションとの互換性はありません。

–A bins

各サンプリング期間内で行をビンに集計して、表示される順にグループ化し、ビンごとに行全体を集計します。–k オプションを使用して、ビン化の段階の前に行の順序を変更できます。sze 列には、各ビン内の CPU の数が出力されます。BIN 列は CPU 列を置き換え、各 bin の序数を出力します。

ID 別の集計 (–A core|soc) は、ソート (–k) 前に処理されます。bin 別のグループ化 (–A bins) が次に行われます。最後に、間隔ごとに出力される出力行の数は、–o によって制限されることがあります。

–A オプションには、プロセッサセット別に集計するための –a オプションとの互換性はありません。

–I statfile

以前に statfile 内に保存したデータを再実行します。–O を指定して、再実行用のデータファイルを作成します。このオプションが特に役立つのは、多数の CPU を搭載したマシンの統計情報を分析する場合です。ファイルは、異なるソートおよび集計オプションを使用して何度も再処理されることがあります。

–I オプションは、間隔およびカウントの仕様と互換性がありません。

ファイル名が (ハイフン) の場合は、標準入力から読み取ります。

–k key1,...

各サンプリング期間内の行を、key1、次に key2、という具合に最上位から最下位へとソートします。各鍵には、xcalintrsys などの任意の列ヘッダーを指定できます。

–m

–a または –A オプションを使用して、複数の CPU 全体でデータを集計するときは、合計ではなく算術平均値を出力します。

–o num

ソートおよび集計のオプションの適用後に、各サンプリング期間内の最初の num 行だけを出力します。

–O statfile

すべてのデータを statfile に保存します。このデータは、–I を使用してあとで再実行できます。

ファイル名が (ハイフン) の場合、標準出力に書き込みます。

–O の目的は、利用可能な全データを取得することです。これには、データ整理オプション –a–A–k–m–o–p、および –P との互換性はありません。

–p

各 CPU のプロセッサセットのメンバーシップを報告します。セット順に出力をソートします。デフォルトの出力は CPU 番号順にソートされます。

–P set

指定された set 内のプロセッサだけを表示します。

–q

状態変更に関連したメッセージを抑制します。

–T u | d

時間の内部表現の出力表現に u を指定します。time(2) を参照してください。 標準の日付フォーマットに d を指定します。date(1) を参照してください。

interval

interval 秒ごとに報告します。

count

count 回のレポートのみ表示します。

80 文字幅の表示では、次の出力例は 1 から 7 文字で折り返されます。ウィンドウの幅を広くすることで、この折り返しをなくすことができます。

使用例 1 mpstat を使用してユーザーおよびシステムオペレーション統計を生成する

次のコマンドは、プロセッサ統計を 5 秒間隔で 2 つのレポートに生成します。このコマンドは、各 CPU のプロセッサセットのメンバーシップを表示します。デフォルトの出力は、CPU 番号順にソートされ、プロセッサセット別に集計された、ユーザー (usr) 操作とシステム (sys) 操作に関する統計です。

example% mpstat -ap 5 2


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
使用例 2 フィルタ要件を満たす CPU を表示する

次のコマンドは、intr 率がもっとも高い 3 つの CPU を表示します。

example% mpstat -k intr -o 3
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
使用例 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  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
使用例 4 後で再処理するために統計情報を保存する

次のコマンドは、後で再処理するために統計情報を保存して、コアごとに 8 の CPU を持つマシンでコア ID 別に集計します。

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  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

属性

属性についての詳細は、マニュアルページの attributes(5) を参照してください。

属性タイプ
属性値
使用条件
system/core-os
インタフェースの安定性
下記を参照。

この呼び出しは開発中です。人間が読める形式の出力は不安定 (Unstable) です。

関連項目

sar(1), date(1), iostat(1M), sar(1M), vmstat(1M), time(2), attributes(5)

CPU 使用率の合計は、割合の数字を生成するときの丸め誤差のため、100 からわずかにずれることがあります。

CPU 処理に使用された合計時間は、ユーザー操作とシステム操作に関して報告される、usrsys の出力値の合計です。idl 値は、保留中のディスク I/O 操作を除くなんらかの理由で CPU がアイドル状態になっている時間を報告します。

svc_t 出力に I/O サービス時間を報告するには、–x オプションを指定して iostat コマンドを実行します。iostat ユーティリティーも、同じ st、ユーザー (us)、およびシステム (sy) 統計情報を報告します。詳細は、iostat(1M) を参照してください。

zone で実行された場合、かつ、プール機能がアクティブだった場合は、mpstat(1M) は zone が割り当てられているプールのプロセッサセットのメンバーであるプロセッサの情報のみを表示します。