使用パフォーマンス:
perf stat ./yourapp
詳細については、カーネル wiki の perf チュートリアルを参照してください。これは、CPU のハードウェア パフォーマンス カウンターを使用するため、オーバーヘッドは非常に小さくなります。
ウィキからの例:
perf stat -B dd if=/dev/zero of=/dev/null count=1000000
Performance counter stats for 'dd if=/dev/zero of=/dev/null count=1000000':
5,099 cache-misses # 0.005 M/sec (scaled from 66.58%)
235,384 cache-references # 0.246 M/sec (scaled from 66.56%)
9,281,660 branch-misses # 3.858 % (scaled from 33.50%)
240,609,766 branches # 251.559 M/sec (scaled from 33.66%)
1,403,561,257 instructions # 0.679 IPC (scaled from 50.23%)
2,066,201,729 cycles # 2160.227 M/sec (scaled from 66.67%)
217 page-faults # 0.000 M/sec
3 CPU-migrations # 0.000 M/sec
83 context-switches # 0.000 M/sec
956.474238 task-clock-msecs # 0.999 CPUs
0.957617512 seconds time elapsed
カーネル モジュールを手動でロードする必要はありません。最新の debian システム (linux-base パッケージを使用) では動作するはずです。perf record -a
/コンボを使用すると、perf report
システム全体のプロファイリングを行うこともできます。デバッグ シンボルを持つアプリケーションまたはライブラリは、レポートに詳細が表示されます。
視覚化には、フレーム グラフがうまく機能しているようです。(2020 年更新:ホットスポットUI にはフレーム グラフが統合されています。)