perfイベント(ぱふぉーむいべんと)
最終更新:2026/4/27
perfイベントは、Linuxカーネルにおけるパフォーマンス計測のためのメカニズムであり、ハードウェアやソフトウェアのイベントを記録する。
別名・同義語 パフォーマンスイベントカーネルイベント
ポイント
perfイベントは、CPUサイクル数、キャッシュミス、ブランチ予測ミスなど、様々なシステムイベントを追跡し、パフォーマンスボトルネックの特定に役立つ。
perfイベントとは
perfイベントは、Linuxカーネルに組み込まれたパフォーマンスモニタリングサブシステムであるperfの主要な機能です。ハードウェアパフォーマンスカウンタ(HPC)やソフトウェアイベントをトリガーし、それらの発生回数やその他の関連情報を記録することで、システムのパフォーマンスを詳細に分析できます。
perfイベントの種類
perfイベントは大きく分けて、ハードウェアイベントとソフトウェアイベントの2種類があります。
- ハードウェアイベント: CPUのサイクル数、キャッシュミス、ブランチ予測ミスなど、ハードウェアが直接計測できるイベントです。これらのイベントは、CPUのアーキテクチャに依存します。
- ソフトウェアイベント: ページフォルト、コンテキストスイッチ、システムコールなど、カーネルが計測できるイベントです。これらのイベントは、システムの動作状況を把握するのに役立ちます。
perfイベントの利用方法
perfコマンドラインツールを使用することで、perfイベントを簡単に利用できます。例えば、CPUサイクル数を計測するには、perf stat -e cyclesコマンドを実行します。perfは、計測結果を様々な形式で出力できます。
perfイベントの応用例
perfイベントは、以下のような様々な場面で応用できます。
- パフォーマンスボトルネックの特定: CPU使用率が高いプロセスや、キャッシュミスが多い関数などを特定できます。
- コードの最適化: コードのパフォーマンスを計測し、ボトルネックとなっている箇所を特定して最適化できます。
- システムのトラブルシューティング: システムのパフォーマンスが低下している原因を特定できます。
- ハードウェアの評価: 新しいハードウェアのパフォーマンスを評価できます。