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 コマンドは次の情報を報告します。
–a および –A オプションを省略したときに統計情報が表示されるプロセッサ ID。
–a オプションの場合に、統計情報が集計されるプロセッサセット ID。
–A core オプションの場合に、統計情報が集計されるコア ID。
–A soc オプションの場合に、統計情報が集計されるソケット ID。
–A bins オプションの場合に、統計情報が集計される bin の序数。
軽度の障害
重大な障害
プロセッサ間のクロスコール
割り込み
スレッドとしての割り込み (クロック割り込みはカウントしない)
コンテキストスイッチ
自発的でないコンテキストスイッチ
スレッドの移行 (別のプロセッサへの)
相互排他ロックでのスピン (最初の試行でロックが取得されなかった)
読み取り/書き込みロックでのスピン (最初の試行でロックが取得されなかった)
システムコール
ユーザー時間の割合 (パーセント)
システム時間の割合 (パーセント)
ハイパーバイザによって占有された CPU 時間の割合。物理ハードウェア上で実行するときは常に 0。
アイドル時間の割合 (パーセント)
要求されたプロセッサセット内のプロセッサの数
各 CPU のプロセッサセットのメンバーシップ
サポートしているオプションは、次のとおりです。
プロセッサセット別に出力を集計します。セット順に出力をソートします。デフォルトの出力は CPU 番号順にソートされます。
コア ID 別に CPU 出力を集計します。同じコア ID のデータ行は、1 行に集計されます。デフォルトでは、列は小計で置き換えられます。–m オプションでは、代わりに列の平均を出力します。
–A オプションには、プロセッサセット別に集計するための –a オプションとの互換性はありません。
ソケット ID 別に CPU 出力を集計します。同じソケット ID のデータ行は、1 行に集計されます。デフォルトでは、列は小計で置き換えられます。–m オプションでは、代わりに列の平均を出力します。
–A オプションには、プロセッサセット別に集計するための –a オプションとの互換性はありません。
各サンプリング期間内で行をビンに集計して、表示される順にグループ化し、ビンごとに行全体を集計します。–k オプションを使用して、ビン化の段階の前に行の順序を変更できます。sze 列には、各ビン内の CPU の数が出力されます。BIN 列は CPU 列を置き換え、各 bin の序数を出力します。
ID 別の集計 (–A core|soc) は、ソート (–k) 前に処理されます。bin 別のグループ化 (–A bins) が次に行われます。最後に、間隔ごとに出力される出力行の数は、–o によって制限されることがあります。
–A オプションには、プロセッサセット別に集計するための –a オプションとの互換性はありません。
以前に statfile 内に保存したデータを再実行します。–O を指定して、再実行用のデータファイルを作成します。このオプションが特に役立つのは、多数の CPU を搭載したマシンの統計情報を分析する場合です。ファイルは、異なるソートおよび集計オプションを使用して何度も再処理されることがあります。
–I オプションは、間隔およびカウントの仕様と互換性がありません。
ファイル名が — (ハイフン) の場合は、標準入力から読み取ります。
各サンプリング期間内の行を、key1、次に key2、という具合に最上位から最下位へとソートします。各鍵には、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 から 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) を参照してください。
|
この呼び出しは開発中です。人間が読める形式の出力は不安定 (Unstable) です。
sar(1), date(1), iostat(1M), sar(1M), vmstat(1M), time(2), attributes(5)
CPU 使用率の合計は、割合の数字を生成するときの丸め誤差のため、100 からわずかにずれることがあります。
CPU 処理に使用された合計時間は、ユーザー操作とシステム操作に関して報告される、usr と sys の出力値の合計です。idl 値は、保留中のディスク I/O 操作を除くなんらかの理由で CPU がアイドル状態になっている時間を報告します。
svc_t 出力に I/O サービス時間を報告するには、–x オプションを指定して iostat コマンドを実行します。iostat ユーティリティーも、同じ st、ユーザー (us)、およびシステム (sy) 統計情報を報告します。詳細は、iostat(1M) を参照してください。
zone で実行された場合、かつ、プール機能がアクティブだった場合は、mpstat(1M) は zone が割り当てられているプールのプロセッサセットのメンバーであるプロセッサの情報のみを表示します。