問題タブ [oprofile]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
635 参照

linux - Oprofile と gprof の出力は同じコードでも異なります

コード AMD optron 6270 マシンを実行しています。OSはCentos 6.2リリースです。私は簡単なプログラムを作成しました

gprof と Oprofile を使用してこのコードをプロファイリングします。さまざまな報告を受けました。gprof を使用して main.exe を 2 回実行するとします。gprof Flat プロファイルを使用した最初のレポート:

各サンプルは 0.01 秒としてカウントされます。

gprof による 2 回目のレポート

フラットプロファイル:

各サンプルは 0.01 秒としてカウントされます。

% 累積セルフ セルフ 合計
時間 秒 秒 コール s/コール s/コール名

両方のレポートは異なります。main.exe を実行するたびに、さまざまなプロファイリング レポートが表示されます。Oprofile を試したところ、次のように異なる結果が得られました。

Oprofile report1 サンプル ディレクトリに /var/lib/oprofile/samples/ を使用します。警告: /no-vmlinux が見つかりませんでした。CPU: AMD64 ファミリ 15h、速度 2.2e+06 MHz (推定) ユニット マスク 0x00 (ユニット マスクなし) で CPU_CLK_UNHALTED イベント (CPU クロックが停止していない) をカウント 100000 をカウント

Oプロファイルレポート2

サンプル ディレクトリに /var/lib/oprofile/samples/ を使用します。警告: /no-vmlinux が見つかりませんでした。CPU: AMD64 ファミリ 15h、速度 2.2e+06 MHz (推定) ユニット マスク 0x00 (ユニット マスクなし) で CPU_CLK_UNHALTED イベント (CPU クロックが停止していない) をカウント 100000 をカウント

サンプル % 画像名 シンボル名

なぜこれが起こるのか誰か教えてもらえますか?これを引き起こす可能性のある理由は何ですか? この状況を回避して、一定のプロファイリング結果を得るにはどうすればよいですか?

0 投票する
1 に答える
1679 参照

c++ - oprofile 出力からコールスタックを取得するには?

私は困惑している。oprofile がプロファイリング レポートからスタック トレースを提供できるかどうかはわかりません。私は oprofile マニュアルを見直してきましたが、ログに記録できると言ってスタックトレースを参照しているだけですが、その方法の例は示していません。

ここに私のtest.cppがあります

コンパイルに使用したコマンドは次のとおりです。

そして、これが私の perf.sh スクリプトです (VM の RHEL 6.2 で実行):

現時点で私が得ているレポートは次のとおりです。

そして、私の質問: スタック トレースをプロファイリング レポートに表示するにはどうすればよいですか?

0 投票する
1 に答える
155 参照

tizen - Opreport に結果が表示されない

http://lbrandy.com/blog/2008/11/oprofile-profiling-in-linux-for-fun-and-profit/チュートリアルによると、次のコマンドを使用して oprofile の結果を確認しようとしています。

そして私も試しました:

そして私が得るのはこれだけです:

これらの奇妙なメッセージの理由を知っている人はいますか?

0 投票する
1 に答える
56 参照

performancecounter - oprofile からのより明確なラベル付け

oprofile スイートのツールを使用して、ocount3 つの異なる HW パフォーマンス カウンターをカウントしています。

問題は、3 つのカウンターがプレフィックスを共有しているため、出力がうんざりするほどあいまいなことです。

コマンド ラインの順序は正しいのですが、他のカウンターで実験を行っているときにこれらすべてをファイルにダンプすると、どのカウンターが何なのかわからなくなる可能性があります。

マンページを見るとocount、完全なイベント名を強制する方法がわかりません。

追加

ソースを見ると、上記の 3 つのイベントは同じカウンターの単なるマスクであり、ソースの count-printing セクションはマスク名ではなくイベント名のみを処理しているように見えるため、これが実際に可能かどうかはわかりません。

悲しいかな(しかし、間違っていることが証明されるのが大好きです)。

0 投票する
1 に答える
208 参照

android - Android デバイスでの Oprofile エラー。oprofiled: 渡されたイベントが多すぎます

MDP で oprofile を使用しています。Android 4.3 ユーザーデバッグ バージョン。

#opcontrol --setup

#oprofiled --vmlinux=/data/vmlinux --kernel-range=c00080ernel-range=c00080 --event=CPU_CYCLES

oprofiled: 渡されたイベントが多すぎます。

# opcontrol --status
ドライバーディレクトリ: /dev/oprofile

セッション ディレクトリ: /data/oprofile

カウンター 0: 名前: CPU_CYCLES カウント: 150000 カウンター 1: 名前: CPU_CYCLES カウント: 150000 カウンター 2 無効

oprofiled が実行されていません

ただし、指定するイベントは 1 つだけです。oprofiled が「渡されたイベントが多すぎる」と言う理由