1

perf record を使用して、15 個のハードウェア イベントとトレース ポイント イベントを記録しようとしています。

次のことを理解したいです。

  1. イベントベースのサンプリング:ドキュメントから、そのイベントに対応する64ビットカウンターがオーバーフローするたびにperfレコードがサンプリングされることを理解しました。そうですか?このようなイベントが ~ 2^64 回発生すると、カウンターがオーバーフローしますか?

  2. PMU/カウンターの数よりも多くのイベントを測定する場合、多重化を使用するには特定のスイッチを渡す必要がありますか? 多重化が存在する場合、オーバーフロー イベントはどのように動作しますか。

  3. スイッチ「-c」の目的/用途は何ですか? このスイッチを使用して、n イベントごとにカウンターをオーバーフローさせることはできますか?

助けてください。

4

1 に答える 1

1

このようなイベントが ~ 2^64 回発生すると、カウンターがオーバーフローしますか?

そうです

多重化を使用するには、特定のスイッチを渡す必要がありますか。

いいえ(ただし、-Cオプションを使用すると効果的に禁止されます)。

多重化について:

カウンターより多くのイベントがある場合、カーネルは時間多重化 (スイッチ周波数 = HZ、通常は 100 または 1000) を使用して、各イベントに監視ハードウェアにアクセスする機会を与えます。

スイッチ「-c」の目的は何ですか?

はい、あなたは正しいです。このスイッチ-cを使用すると、サンプリング期間を指定できます。これは、サンプリング周期を 2 に指定すると、2 回目のイベントごとにカウンターがオーバーフローすることを意味します。そして、イベントが発生したときのすべての情報 (アーキテクチャの状態など) がバッファに記録されます。

于 2012-10-23T01:10:09.107 に答える