ホームページ >運用・保守 >Linuxの運用と保守 >LinuxでPERFやFTRACEなどのシステムトレースツールを使用するにはどうすればよいですか?
Linuxでperf
やftrace
などのシステムトレースツールを使用すると、システムのパフォーマンスと動作に関する洞察を得ることができます。これらの各ツールを使用する方法は次のとおりです。
PERFの使用:
perf
がインストールされていることを確認してください。ほとんどのLinuxディストリビューションでは、ubuntuのsudo apt-get install linux-perf
など、パッケージマネージャーを使用してインストールできます。基本的な使用法:イベントの記録を開始するには、 perf record
コマンドを使用できます。たとえば、CPUサイクルを記録するには、以下を使用します。
<code>sudo perf record -e cycles -a sleep 10</code>
このコマンドは、すべてのCPUのCPUサイクルを10秒間記録します。
分析:記録後、 perf report
でデータを分析できます。
<code>sudo perf report</code>
このコマンドは、データをナビゲートできるインタラクティブなインターフェイスを開きます。
特定のユースケース:PERFを使用して、特定のアプリケーションのプロファイル、システム全体のパフォーマンスを分析するなどです。たとえば、特定のアプリケーションをプロファイルするには:
<code>sudo perf record ./my_application sudo perf report</code>
ftraceを使用:
ftraceの有効化:ftraceは通常、Linuxカーネルの一部です。それを有効にするには、デバッグファイルシステムをマウントする必要があります。
<code>sudo mount -t debugfs nodev /sys/kernel/debug</code>
FTRACEの構成: /sys/kernel/debug/tracing
のファイルに書き込むことにより、トレースを構成できます。たとえば、関数呼び出しをトレースするには:
<code>echo function > /sys/kernel/debug/tracing/current_tracer echo 1 > /sys/kernel/debug/tracing/tracing_on</code>
出力の表示:トレース出力は、次を使用してリアルタイムで表示できます。
<code>cat /sys/kernel/debug/tracing/trace</code>
トレースの停止:トレースを停止するには、 tracing_on
ファイルに0
書き込みます。
<code>echo 0 > /sys/kernel/debug/tracing/tracing_on</code>
重要な違い:
機能:
Perf
、ハードウェアイベント(CPUサイクル、キャッシュミスなど)やソフトウェアイベント(ページ障害、コンテキストスイッチなど)など、さまざまなイベントを追跡できるより汎用性の高いツールです。Ftrace
は、カーネル関数とシステムコールを追跡するように特別に設計されており、詳細なカーネルレベルのトレースを提供します。ユーザーインターフェイス:
Perf
、記録されたデータを分析するためのインタラクティブなインターフェイス( perf report
)を提供します。これは非常にユーザーフレンドリーな場合があります。Ftrace
、効果的に分析するために手動解析またはスクリプトを必要とする生の出力を提供します。オーバーヘッド:
Perf
は、一般に、その幅が広いため、 ftrace
よりもオーバーヘッドが高くなっています。Ftrace
は軽量で、システムへの衝撃を最小限に抑えることで使用でき、頭上が低いシナリオに理想的です。各ツールを使用する時期:
PERFを使用:
ftraceを使用してください:
パフォーマンス出力の分析:
perf report
の使用:前述のように、 perf report
記録されたデータを表示するインタラクティブな方法を提供します。コールグラフをナビゲートして、ほとんどの時間またはリソースを消費する関数を識別できます。perf
を使用して、CPUサイクル、キャッシュミス、ブランチの誤処理などのハードウェアイベントを分析します。これらの分野で高いカウントは、最適化の機会を示唆する可能性があります。Perf
、統計サンプリングを使用してデータを収集します。これにより、コードまたはシステムのホットスポットを識別することができます。FTRACE出力の分析:
trace-cmd
などのツールを使用するか、スクリプトを書き込み、データをフィルタリングおよび解析します。一般的な落とし穴:
ftrace
用のカーネルバージョンと互換性があることを確認してください。ベストプラクティス:
perf
とftrace
両方を使用すると、イベントをフィルタリングできます。この機能を使用して、関心のある領域に焦点を当て、データの過負荷を減らします。perf
とftrace
を組み合わせて、システム動作のより包括的なビューを取得します。ftrace
用のtrace-cmd
やperf
用のカスタムスクリプトなどのツールは、ワークフローを合理化できます。これらのガイドラインに従うことにより、 perf
とftrace
を使用して、Linuxシステムのパフォーマンスを診断および最適化することができます。
以上がLinuxでPERFやFTRACEなどのシステムトレースツールを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。