14LinuxのCPU使用率を確認するコマンドラインツール
CPUパフォーマンスは、測定の1つの側面です。システムのパフォーマンス。 CPUのパフォーマンスの監視は、システム内のプロセスのデバッグ、システムリソースの管理、システムの決定、システムのリアルタイムの評価と調査に不可欠です。
監視と表示に使用できるツールはたくさんあります。 CPUパフォーマンス。オペレーティングシステムには、これらのツールがパフォーマンスの読み取り値を抽出するために依存する組み込みのシステムコールがあります。
このチュートリアルでは、Linuxベースのディストリビューションでの最適なCPU使用率監視ツールとその使用法について説明します。
1)Top
topコマンドは、システムで実行中のすべてのプロセスのパフォーマンス関連データのリアルタイムビューを表示します。デフォルトでは、topコマンドは5秒ごとにデータを更新します。ターミナルから「top」と入力して、システムのパフォーマンスに関連する統計データを表示します。
# top
topコマンドの出力を変更するには、次のコマンドを押します。
「P」はCPU使用率でソートします。
「I」はアイドル状態のプロセスを表示から削除し、元に戻すには「I」をもう一度押します。
「M」はデータをメモリ使用量で並べ替えます。
「S」はプロセスの実行時間で並べ替えます。
「P」はCPU使用率で並べ替えます。
「U」は特定のユーザーが所有するプロセスを表示します。
「K」はプロセスを強制終了します。
「R」はプロセスを解放します。
2)Iostat
iostatコマンドは、CPU使用率、デバイス使用率、およびネットワークファイルシステム使用率を一覧表示します。このユーティリティは、最後の再起動以降のシステムの平均CPU使用率を表示します。オプションを指定せずに次のコマンドを実行すると、3つのレポートすべてが表示されます。
# iostat
個々のレポートを一覧表示するには、CPU使用率に-c、-d、および-hスイッチを使用します。 、デバイス使用率およびネットワークファイルシステム使用率。次のコマンドは、CPU使用率をユーザープロセス、システムプロセス、I / O待機時間、アイドル時間に分割します。
# iostat -c
次のコマンドは、拡張統計を表示します( -x)、CPU使用率(-c)について各レポートを表示する回数(-t)。
# iostat -xtc 5 2
3)Vmstat
vmstatコマンドは、システムプロセス、メモリ、スワップ、I / O、およびCPUパフォーマンスに関する統計を表示します。統計を表示するために、コマンドが最後に実行されてから現在までのデータが収集されます。コマンドが実行されない場合、データは最後の再起動から現在の時刻までになります。
複数のCPUシステムでは、vmstatは出力にCPUの数を平均します。 vmstatコマンドは、topコマンドのように出力を更新します。
次のコマンドは、割り込みが発生するまで5秒ごとにレポートを更新します。
# vmstat 5
次のコマンドは、5秒ごとに更新されるデータを表示し、値は1秒ごとに再測定および報告されます。
# vmstat 1 5
最初の行には、コンピューターが最後に再起動されてからの平均値が出力されます。残りの行には、それぞれの現在の値が表示されます。通常のユーザーはvmstatコマンドを実行できます。
4)Mpstat
Mpstatは、Linuxのsysstatパッケージの一部です。 mpstatコマンドは、使用可能な各プロセッサのアクティビティに関する標準出力に書き込みます。プロセッサ0が最初のプロセッサです。アクティビティが選択されていない場合、デフォルトのレポートはCPU使用率レポートです。
オプションのないmpstatは、すべてのCPUのグローバル平均アクティビティを表示します
# mpstat
-pオプションと “ALL”を指定したmpstatは、すべてのCPUに関する統計を0から1つずつ一覧表示します。
# mpstat -P ALL
次のコマンドはそれぞれ2秒後の4回の平均CPU使用率を一覧表示します。
# mpstat -P ALL 2 4
5)Sar
sarは、次のパフォーマンス監視ツールです。パフォーマンスデータを収集、表示、記録し、システムが常に実行していることを一覧表示できます。 Sarコマンドは、レポートを生成してシステム管理者に電子メールで送信できます。 sarによって報告される統計には、I / O転送速度、ページングアクティビティ、プロセス関連のアクティビティ、割り込み、ネットワークアクティビティ、メモリとスワップスペースの使用率、CPU使用率、カーネルアクティビティ、TTY統計などが含まれます。オプションなしでsarを実行し、出力を確認します。デフォルトの出力リストは、10分ごとの統計と最終平均です。
# sar
CPU統計を2秒間隔で3回表示します。
# sar 2 3
次のコマンドは、2秒ごとに合計3回、すべてのCPUの累積リアルタイムCPU使用率を表示します。
# sar -u 2 3
「-PALL」オプションは、すべての個々のコアの統計を表示します。システムに4つのコアがある場合、「CPU列」には、対応するCPUコア番号を示す番号0、1、2、3が含まれます。「23」オプションは、2秒ごとに3回統計を表示します。
# sar -P ALL 2 3
「-P2」オプションは、2秒ごとに3番目のコアの統計を表示します。 3回。
# sar -P 2 2 3
6)CoreFreq
CoreFreqは、Intelアーキテクチャを搭載した64ビットプロセッサ向けに設計されたCPUパフォーマンス監視ソフトウェアです。 Atom、Core2、Nehalem、SandyBridge、および優れたAMDファミリー。 CoreFreqは、CPUデータを高精度で取得するためのフレームワークを提供します。カーネルモジュール、デーモン、およびユーザーランドコマンドラインインターフェイス(CLI)は、Corefreqの3つの部分です。カーネルモジュールは、ホストへのフルアクセスを持ちます。低レベルのデータを収集するのはその責任です。 userlandデーモンがデータを収集します。デーモンを実行するには、rootユーザーである必要があります。最後に、CoreFreqには、人間が読める形式でデータを報告するためのターミナルインターフェイスが付属しています。このCLIツールは通常のプロセスであり、エンドユーザーが使用できます。
前提条件
i)CoreFreqは低レベルのカウンターを使用するため、最初に/を使用してNMIウォッチドッグを無効にする必要があります。 etc / default / grub。 / etc / default / grubを編集し、「nmi_watchdog = 0」カーネルコマンドライン引数を追加してから、update-grubを実行します。
# vi /etc/default/grub
.................... .................... GRUB_CMDLINE_LINUX="nmi_watchdog=0" .................... ....................
# update-grub && reboot
ii)仮想化なし。 VMは、CoreFreqドライバーが使用するレジスターへのアクセスを提供しません。
CoreFreqをインストールします
insmodを使用してカーネルモジュールをインストールします
# sudo insmod corefreqk.ko
lsmodを使用してCoreFreqモジュールを一覧表示します
# lsmod | grep corefreq corefreqk 49152 0
dmesgコマンドの出力は、CoreFreqがプロセッサによって認識されたことを示しています。
# sudo dmesg | grep CoreFreq CoreFreq: Processor Architecture CPU
CoreFreqデーモンを起動します
# sudo ./corefreqd