問題タブ [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.
c - OPROFILE はパフォーマンス データを取得できません
OPROFILE を使用してパフォーマンス データを収集しています。しかし困った。
これが私のシェルです:
c++ - プログラムが _fini で CPU サイクルの 85% を費やしたのはなぜですか?
oprofile を使用してプログラムのプロファイリングを行った後、少し驚きました。
プロファイルは、私のプログラムが 85% を費やしていることを示しています_fini
:
CPU: Intel Core/i7、速度 1199 MHz (推定) ユニット マスク 0x00 (ユニット マスクなし) で CPU_CLK_UNHALTED イベント (停止していない場合のクロック サイクル) をカウント 100000 サンプル % イメージ名 シンボル名 553519 85.7402 eddic _fini
他のシンボルは良さそうです。
私のプログラムは GCC 4.7 でコンパイルされています。
私が理解していることから、シンボル_fini
はグローバルな破壊のための非推奨の構造であるため、プログラムがこのシンボルに多くの時間を費やす理由がわかりません。
oprofile または GCC の不適切な構成が原因でしょうか?
最適化されていないコードのプロファイリングを試みましたが、問題はありません。最適化されていないそのようなシンボルはありません。
プロファイルを修正する方法、または に多くの時間を費やさないようにする方法はあります_fini
か?
ペーストが非常に長いため、ペーストできません。問題を特定できませんでした。
アイデアをありがとう
valgrind - 再コンパイルが必要なプロファイラーと不要なプロファイラーの違いは何ですか?
デバッグオプションを使用してソースコードを再コンパイルする必要があるプロファイラー(gprofなど)と、再コンパイルする必要がないプロファイラー(Valgrind、OProfileなど)を使用する場合の違いは何ですか?
linux - Oprofile 警告「バイナリ ファイルを確認できませんでした」
Oprofile を使用してカーネル モジュールのプロファイルを作成すると、opreport に次のような警告が表示されます。
誰かが警告とは何かを説明してください.oprofile出力の精度に影響を与えますか?とにかくこの警告を回避する方法はありますか?
任意の提案をいただければ幸いです。どうもありがとうございます!
詳細情報を追加: でdaemon/opd_mangling.c
カーネル モジュール ファイルの場合、sf->kernel->name
はカーネル モジュール名であるため、フィル ヘッダーは常にmtime
0 で埋められ、不要な警告が生成されます。
c - マルチコアとOProfile
スレッド対応/安全(マルチスレッドアプリを安全にプロファイリングできることを意味します)ですか?oprofile
もしそうなら、違いはperf
何ですか?
linux - ftrace 関数の統計と oprofile の違い
どなたかftrace
統計とを比較していただけoprofile
ませんか? 次の現象が確認されました。
- ネットワーク パフォーマンス テスト中に有効にした場合、 ftrace プロファイラーを使用
oprofile
したパフォーマンス テストへの影響はほとんどありません (有効でない場合と比較して)。oprofile
CONFIG_FUNCTION_PROFILER
- プロファイラーを有効にすると、ネットワーク テストのパフォーマンスが約 90% 低下します。
- レポートではあまりサンプリングされていない関数がたくさんありますが
oprofile
、ftrace プロファイルのレポートでは、実行に多くの時間がかかります (ほとんどがskb_alloc
とskb_free
です)。
以前にこれらのプロファイリングの両方を使用したことがある場合、その精度について提案をお願いします。
linux - perf_events/oprofile を使用して Linux で JIT の出力をプロファイリングしますか?
ハードウェア パフォーマンス カウンターを使用して、Linux で JIT によって生成されたコードをプロファイリングしたいと考えています。私が知っているように、最も一般的なプロファイラはoprofile
とperf
です。
JIT と oprofile/perf を統合するにはどうすればよいですか?
私の JIT は、oprofile で既にサポートされている Java ではありません。(パフォーマンス?)
たとえば、LLVM の JIT を考えることができます。したい
- JIT 化されたコードから最もホットな関数 (それらの名前) を参照してください
- すべての命令に割り当てられたパフォーマンス カウンターの統計情報を使用して、最もホットな関数の逆アセンブリを確認します。
profiling - Oprofile を介して各関数で消費されるサイクル
Oprofile は、サンプリング ベースの理論に基づいて動作します。Opreport -l オプションは、次の方法でプロファイリング レポートを提供します。
この情報により、消費に費やされた時間の割合を知ることができます。コードで最適化を行うと、レポートは次のようになります。
このレポートでは、ベンチマークできるようにサイクルの最適化がどの程度行われたかはわかりません。これまでにどの程度の最適化が行われましたか?
どのくらいのサイクルの最適化が行われたかを知る方法や、ベンチマークできる他の方法はありますか?
私はAMD64ビットマシンで作業しています。
linux - Pentium D を使用する Ubuntu 12.10 で oprofile 0.9.8 が失敗する
Pentium D プロセッサ (Dell OptiPlex-GX620 デスクトップ) で実行されている Ubuntu 12.10 で oprofile 0.9.8 を使用しようとしています。「operf ls」のような単純なものを試すと、
timer=1 でモジュールをインストールすることにより、sudo の下で opcontrol コマンドを使用して、レガシー モードで oprofile を実行することに成功しました (以下を参照)。
operf は、この構成では満足できないようです。これは、新しい推奨される方法です。
すべての依存パッケージがロードされていることを確認しました。
oprofile の Web サイトでは、ペンティアム D を別のアーキテクチャと呼んでいないため、通常のペンティアム アーキテクチャを使用しているかどうかは不明です。
私はどこでも検索しましたが、このような報告は見つかりませんでした。ここで問題を特定する際に、どんな助けもいただければ幸いです。
PS opcontrol を使用してレガシーモードで実行すると、ある程度成功します。