perfとは?
ぱーふ
perfとはLinuxカーネルに組み込まれたパフォーマンス解析ツールで、CPUの使用状況やボトルネックを詳細に計測できます。
perf(パフォーマンスカウンタ)は、Linuxカーネルのサブシステムとして実装されたプロファイリング・トレーシングツールです。Linuxカーネル2.6.31から導入され、perfコマンドとして操作します。CPUハードウェアが持つパフォーマンスカウンタ(PMU)を直接利用するため、オーバーヘッドが小さく本番環境でも使用可能です。
主な機能は以下のとおりです。
- perf stat: CPUサイクル数・キャッシュミス数・命令数などのハードウェアカウンタをまとめて集計
- perf record / perf report: サンプリングによる関数レベルの実行時間プロファイル
- perf top: topコマンドのようなリアルタイムプロファイラ
- perf trace: システムコールのトレース(straceの高速版に相当)
特にFlame Graph(炎グラフ)と組み合わせることで、コールスタック全体のボトルネックを視覚的に把握できます。データベースエンジン・Webサーバー・ゲームエンジンなど、パフォーマンスがクリティカルなソフトウェアの最適化に欠かせないツールとして、インフラエンジニアやシステムプログラマーに広く使われています。
使い方・例文
Webサーバーのレスポンスが遅い原因を調べるとき、perf recordで本番プロセスを数秒間サンプリングし、perf reportでどの関数に時間がかかっているか特定する、といった使い方が一般的です。
この用語をシェア
最終更新: