6.5. ftrace


ftrace フレームワークはユーザーにいくつかのトレース機能を提供します。これは SystemTap のインターフェースよりも非常にシンプルなインターフェースでアクセス可能です。このフレームワークは、debugfs ファイルシステムにある仮想ファイルのセットを使用します。これらのファイルは、特定のトレーサーを有効にします。ftrace 機能トレーサーは、カーネルで呼び出された各機能をリアルタイムで出力します。ftrace フレームワーク内の他のトレーサーは、ウェイクアップ待ち時間やタスクスイッチ、カーネルイベントなどの分析にも使用できます。
また、ftrace に新たなトレーサーを追加し、カーネルイベントの分析用に柔軟性のあるソリューションとすることもできます。ftrace フレームワークは、ユーザースペースの外で発生する待ち時間やパフォーマンスの問題のデバッグや分析に便利です。本ガイド内で説明している他のプロファイラーと違い、ftrace カーネルのビルドイン機能です。

6.5.1. ftrace の使用方法

Red Hat Enterprise Linux 6 のカーネルには、CONFIG_FTRACE=y オプションが設定されています。このオプションは、ftrace が必要とするインターフェースを提供します。ftrace を使用するには、以下の方法で debugfs ファイルシステムをマウントします。
mount -t debugfs nodev /sys/kernel/debug
ftrace ユーティリティーはすべて、/sys/kernel/debug/tracing/ にあります。/sys/kernel/debug/tracing/available_tracers ファイルで自分のカーネルでどのトレーサーが利用可能か確認してください。
cat /sys/kernel/debug/tracing/available_tracers
power wakeup irqsoff function sysprof sched_switch initcall nop
特定のトレーサーを使用するには、そのトレーサーを /sys/kernel/debug/tracing/current_tracer に書き込みます。たとえば、wakeup は、優先順位の最も高いタスクをタスクのウェイクアップ後にスケジュールするのにかかる最大時間を追跡・記録します。これを使用するには、以下のコマンドを実行します。
echo wakeup > /sys/kernel/debug/tracing/current_tracer
トレースを開始または停止するには、/sys/kernel/debug/tracing/tracing_on に以下のように書き込みます。
echo 1 > /sys/kernel/debug/tracing/tracing_on (追跡を有効化)
echo 0 > /sys/kernel/debug/tracing/tracing_on (追跡を無効化)
追跡結果は以下のファイルで確認できます。
/sys/kernel/debug/tracing/trace
このファイルには、ヒューマンリーダブルな追跡出力が含まれています。
/sys/kernel/debug/tracing/trace_pipe
このファイルには /sys/kernel/debug/tracing/trace と同じ出力が含まれていますが、これはコマンドにパイプ処理されることになっています。/sys/kernel/debug/tracing/trace とは異なり、このファイルからの読み取りは出力を消費します。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.