mpstat コマンドは、ユーティリティの Sysstat セットの一部です。 mpstat コマンドは、プロセッサごとの統計を表形式でレポートするために使用されます。
$ mpstat 1 1 CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl 0 672 0 2457 681 12 539 17 57 119 0 4303 18 10 0 73 1 90 0 1551 368 22 344 6 37 104 0 3775 17 4 0 79 2 68 0 1026 274 14 217 4 24 83 0 2393 11 3 0 86 3 50 0 568 218 9 128 3 17 56 0 1319 7 2 0 92 4 27 0 907 340 12 233 3 22 72 0 2034 9 2 0 88 5 75 0 1777 426 25 370 5 33 111 0 4820 22 4 0 74
上記の mpstat コマンドの出力では、テーブルの各行が 1 つのプロセッサのアクティビティを表しています。最初の表は、起動時以降のアクティビティの概要を示しています。 DBA の観点から重要な列は、smtx 列の値です。 smtx 測定値は、CPU が相互排他ロックまたはミューテックスの取得に失敗した回数を示します。 Mutex ストールは CPU 時間を浪費し、マルチプロセッサのスケーリングを低下させます。
一般的な経験則では、smtx 列の値が 200 より大きい場合は、調査が必要な CPU ボトルネックの問題の兆候であり、兆候です。
mpstat コマンドの例
1. プロセッサ統計を報告するには:
# mpstat 2 10
2. すべてのプロセッサ統計を報告するには:
# mpstat -A 2 10
3. 統計が表示されているプロセッサ番号を取得するには:
# mpstat -P 2 10
4. CPU 使用率の統計を報告するには:
# mpstat -u 2 10
5. バージョン情報を取得するには:
# mpstat -V
結論
デフォルトでは、mpstat はすべての CPU の結合された平均統計を返します。フラグ -P を使用して、特定の CPU の詳細を取得できます。次のコマンドは、プロセッサ 1 (0) とプロセッサ 2 (1) の統計を表示し、3 秒間隔で更新します:
$ mpstat -P 0,1 3