6.2. OProfile


OProfile はシステム全体にわたる Linux プロファイラーで、低いオーバーヘッドでの稼働が可能です。これは、raw サンプルデータ収集のためのカーネルドライバーとデーモン、さらにそのデータを有意な情報に解析するためのツールのスイートで構成されています。OProfile は通常、コードのどのセクションが CPU 時間を最も多く消費しているか、またその理由を判断するために開発者が使用します。
プロファイルの実行中に OProfile はプロセッサーのパフォーマンス監視ハードウェアを使用します。Valgrind はアプリケーションのバイナリーを書き直し、次にインストルメント化します。一方 OProfile は、実行中のアプリケーションをそのままプロファイルします。パフォーマンス監視ハードウェアをセットアップし、イベント x 回ごとにサンプルを採取します (たとえば、キャッシュミスやブランチ指示など)。各サンプルには、プログラムのどこでそれが発生したかという情報が含まれています。
OProfile のプロファイル方法は Valgrind よりも少ないリソースを消費します。しかし、OProfile は root 権限を必要とします。OProfile はコード内での「ホットスポット」を見つけ出し、その原因を探す際に便利です (たとえば、キャッシュパフォーマンスが低い、分岐予想が誤っている、など)。
OProfile を使用する際には、OProfile デーモン (oprofiled) を開始し、プロファイル対象のプログラムを実行し、システムプロファイルデータを収集し、このデータをより理解しやすい形式に解析することになります。OProfile はこのプロセスのすべてのステップにツールを提供します。

6.2.1. OProfile のツール

便利な OProfile コマンドを以下に挙げます。
opcontrol
このツールは OProfile デーモンを開始/終了し、プロファイルセッションの設定に使われます。
opreport
opreport コマンドは、OProfile プロファイルセッションからバイナリーイメージのサマリーまたは記号ごとのデータを出力します。
opannotate
opannotate は OProfile セッションのプロファイルデータから注釈付きソースおよび/またはアセンブリを出力します。
oparchive
oparchive コマンドは、実行可能ファイルやデバッグ、OProfile サンプルファイルの入ったディレクトリーを作成します。このディレクトリーは (tar で) 別のマシンに移動でき、そこでオフラインで分析ができます。
opgprof
opreport のように、opgprof コマンドは OProfile セッションからあるバイナリーイメージのプロファイルデータを出力します。opgprof の出力は、gprof 形式です。
OProfile コマンドの全一覧は、man oprofile を参照してください。各 OProfile コマンドの詳細情報については、それぞれの man ページを参照してください。OProfile に関するその他のドキュメントは、「OProfile のドキュメント」 を参照してください。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.