スレッド対応/安全(マルチスレッドアプリを安全にプロファイリングできることを意味します)ですか?oprofile
もしそうなら、違いはperf
何ですか?
2 に答える
Oprofile と Perf はどちらもスレッド対応で、マルチスレッド アプリをプロファイリングできます。頼めば、カーネルのプロファイルを作成することもできます。
OProfile はプロファイラー (記録と注釈ができるツールの 1 つ) です。これは、ハードウェア パフォーマンス カウンターを実際に使用した最初の (最初ではないにしても) プロファイラーの 1 つです。
Perf は、アプリケーション (stat、top、record、annotate など) で何が起こっているかを理解するのに役立つ一連のプロファイリング ツールです。これは Linux カーネル プロジェクトの一部です (ただし、ツールはユーザーランドで動作します)。それはまだ活発に開発されており、API が劇的に変更されることが時々あると聞いています。
1 はい、oprofile
スレッド対応です。
man opcontrol
(oprofile
の制御ツール) からの逐語:
--separate=[なし、ライブラリ、カーネル、スレッド、CPU、すべて]
指定されたセパレーターに基づいてサンプルを分離します。「lib」は、アプリケーションごとに動的にリンクされたライブラリ サンプルを分離します。「kernel」は、アプリケーションごとにカーネルとカーネル モジュールのサンプルを分離します。「カーネル」は「ライブラリ」を意味します。「スレッド」は、各スレッドとタスクを分離します。「cpu」は CPU ごとに区切ります。「all」は上記のすべてのオプションを意味し、「none」は分離をオフにします。
2oprofile
はシステム全体のプロファイラーであり、デーモンとして実行され、デフォルトですべてのシステム アクティビティをプロファイリングします。