第25章 Performance Counters for Linux (PCL) ツールおよび perf
Performance Counters for Linux (PCL) は、パフォーマンスデータを収集し、分析するためのフレームワークを提供するカーネルベースのサブシステムです。Red Hat Enterprise Linux 7 には、データやユーザー空間ツール perf
を収集するためにこのカーネルサブシステムが含まれており、これを使用して収集したパフォーマンスデータを分析します。 PCL サブシステムは、リタイヤした命令やプロセッサーのクロックサイクルなどの、ハードウェアイベントを測定するために使用できます。主なページの障害やコンテキストスイッチなど、ソフトウェアイベントを測定することも可能です。たとえば、PCL カウンターは、リタイアしたプロセスの命令数やプロセッサーのクロックサイクルを基に Instructions Per Clock (IPC) を算出することができます。IPC の割合が低い場合は、コードが CPU をあまり使用していないことが分かります。他のハードウェアイベントを使用して、CPU パフォーマンスの低さを診断することも可能です。
パフォーマンスカウンターは、サンプルを記録するように設定することもできます。サンプルの相対的な量を使用して、コードのどの領域がパフォーマンスに最も影響があるかを特定することができます。
25.1. Perf ツールコマンド
- perf stat
-
この
perf
コマンドは、実行された命令や消費したクロックサイクルなど、一般的なパフォーマンスイベントに関する全体的な統計を提供します。オプションを指定すると、デフォルトの計測イベント以外のイベントを選択することができます。 - perf record
-
この
perf
コマンドはパフォーマンスデータをファイルに記録し、後でperf report
を使用して分析を行うことができます。 - perf report
-
この
perf
コマンドは、ファイルからパフォーマンスデータを読み取り、記録されたデータの分析を行います。 - perf list
-
この
perf
コマンドは、特定のマシンで利用可能なイベントをリスト表示します。これらのイベントは、パフォーマンス監視ハードウェアや、システムのソフトウェア設定によって異なります。
perf
コマンドの詳細なリストを取得するには、perf help
を使用します。perf
コマンドごとに man
ページの情報を取得するには、perf help コマンド
を使用します。