【 mpstat 】コマンド――CPUごとの使用率を表示する:Linux基本コマンドTips(127)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、CPUごとの使用率を表示する「mpstat」コマンドです。
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介してきます。今回は、CPUごとの使用率を表示する「mpstat」コマンドです。
mpstatコマンドとは?
「mpstat」は、CPUごとに使用率や割り込みの統計情報を表示するコマンドです。
mpstatはsysstatパッケージに収録されています。「sudo yum install sysstat」あるいは「sudo apt-get install sysstat」としてインストールできます※。
※sysstatパッケージをインストールする前にパッケージの内容を確認するコマンドもある。「apt-cache -f search sysstat」と実行する。
mpstatコマンドの書式
mpstat [オプション] [更新の間隔 [回数]]
※[ ]は省略可能な引数を示しています
mpstatの主なオプション
短いオプション | 意味 |
---|---|
-A | 全てのCPUについて、使用率および割り込みの統計情報を表示する(「-u -I ALL -P ALL」相当) |
-I 指定 | 割り込みの統計情報を表示。「SUM(総計)」「CPU(ハードウェア割り込み)」「SCPU(ソフトウェア割り込み ※)」「ALL(SUM、CPU、SCPUの全て)」のいずれかを指定する |
-P 指定 | 0から始まる番号を用いて表示するCPUを指定する(「,」区切り)、または「ON(オンラインプロセッサー)」「ALL(全CPU)」と指定 |
-u | CPUの使用率を表示する(「-I」と一緒に表示したい場合に使用) |
※カーネル2.6.31以降のみ
CPUの使用率を表示する
「mpstat」で全CPUの平均使用率(CPU番号:all)を表示します(画面1)。複数のCPUのうちの一部を指定したい場合は「-P」オプションを使います。例えば、全てのCPUを個別に表示したい場合は「mpstat -P ALL」のように入力します。
コマンド実行例
mpstat(画面1)
(全CPUの平均使用率を表示する)
mpstat -P ALL
(平均使用率とCPUごとの使用率を表示する)
画面1の表示項目の意味は次の通りです。
項目名 | CPU使用率の内訳 |
---|---|
%usr | アプリケーション(ユーザーレベル) |
%nice | アプリケーション(ナイス値による優先指定) |
%sys | カーネル(システムレベル) |
%iowait | アイドル状態(ディスクI/Oリクエスト待ち) |
%irq | ハードウェア割り込み処理 |
%soft | ソフトウェア割り込み処理 |
%steal | 他の仮想CPU向けのハイパーバイザ処理 |
%quest | 仮想CPUの処理 |
%gnice | 仮想CPUの処理(ナイス値による優先指定) |
%idle | アイドル状態(ディスクI/Oリクエスト待ち以外) |
mpstatは80桁より広い幅で出力します。実行画面では端末画面を110桁で出力しています。
80桁で固定された画面の場合、「lessコマンド」と組み合わせて「mpstat | less -S」のように使うと、折り返さずに横スクロールで見ることができます(画面2)。あるいは出力内容のうち、行末の部分が不要であれば「cut -b -76」のようにカットする方法もあります(画面3)。
コマンド実行例
mpstat -P ALL | less -S(画面2)
mpstat -P ALL | cut -b 76(画面3)
CPUの割り込み情報を表示する
割り込み情報を表示したい場合は「-I」オプションで指定します。「-I SUM」で総計、「-I CPU」でハードウェア割り込み、「-I SCPU」でソフトウェア割り込みを表示します。全て表示したい場合は「-I ALL」とします。
CPUごとに表示したい場合は「-P ALL」、メモリの使用量も一緒に表示したい場合は「-u」も併用します。「-A」で「-u -I ALL -P ALL」相当になります(画面4)。
コマンド実行例
mpstat -I ALL -P ALL
(CPUごとに全ての割り込み情報を表示)
mpstat -A(画面4)
(CPUごとに使用率および割り込みの統計情報を表示(-u -I ALL -P ALL相当))
※※ 「-I CPU」相当の部分では、1秒当たりの各種ハードウェア割り込みの数を表示している。表示される割り込みの種類(/proc/interrupts)は以下の通り。NMI:Non-maskable interrupts、LOC:Local timer interrupts、SPU:Spurious interrupts、PMI:Performance monitoring interrupts、IWI:IRQ work interrupts、RTR:APIC ICR read retries、RES:Rescheduling interrupts、CAL:Function call interrupts、TLB:TLB shootdowns、TRM:Thtermal event interrupts、THR:Threshhold APIC interrupts、DFR:Deferred Error APIC interrupts、MCE:Machine check exceptions、MCP:Machine check polls、PIN:Posted-interrupt notification event
CPUの情報をリアルタイムで表示する
「mpstat 秒数」または「mpstat 秒数 回数」のように更新の間隔を指定すると、リアルタイムで統計情報を表示します。回数を指定しなかった場合は[CTRL]+[C]で終了します。
回数指定または[CTRL]+[C]で終了すると、最後に平均値(Average)を出力します。
コマンド実行例
mpstat 1
(CPUの使用率を1秒間隔で表示)
mpstat -A 1 10
(全ての情報を1秒間隔で10回表示)
筆者紹介
西村 めぐみ(にしむら めぐみ)
PC-9801NからのDOSユーザー。PC-486DX時代にDOS版UNIX-like toolsを経てLinuxへ。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『はじめてでもわかるSQLとデータ設計』『シェルの基本テクニック』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。
Copyright © ITmedia, Inc. All Rights Reserved.