30.3. ftrace トレーサー
カーネルの設定方法によっては、特定のカーネルですべてのトレーサーが利用できるとは限りません。RHEL for Real Time カーネルの場合、トレースカーネルおよびデバッグカーネルには、実稼働カーネルとは異なるトレーサーがあります。これは、一部のトレーサーは、カーネルに設定されているもののアクティブになっていない場合に、パフォーマンスに顕著な影響を与えるためです。このトレーサーは、trace および debug カーネルに対してのみ有効になります。
30.3.1. トレーサー リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
- function
- 最も広く適用されるトレーサーの 1 つ。カーネル内の関数呼び出しを追跡します。トレースする関数の数によっては、パフォーマンスに顕著な影響を与える可能性があります。非アクティブ状態では、パフォーマンスへの影響は最小限です。
- function_graph
function_graphトレーサーは、より視覚に訴える形式で結果を表示するように設計されています。このトレーサーは、関数の終了を追跡し、カーネル内の関数呼び出しのフローを表示します。注記このトレーサーは、有効にした場合、
関数トレーサーよりもパフォーマンスへの影響が大きいですが、無効にした場合のパフォーマンスへの影響は関数トレーサーと同程度に最小限です。- wakeup
- すべての CPU でアクティビティーが発生することを報告する完全な CPU トレーサー。リアルタイムタスクであるかに関わらず、システム内で最も優先度の高いタスクを起動するのにかかる時間を記録します。非リアルタイムタスクを起動するのにかかる最大時間の記録では、リアルタイムタスクを起動するのにかかる時間が非表示になります。
- wakeup_rt
- すべての CPU でアクティビティーが発生することを報告する完全な CPU トレーサー。現在の最も高い優先度タスクから、ウェイクアップ時間まで経過時間を記録します。このトレーサーは、リアルタイムタスクの時間のみを記録します。
- preemptirqsoff
- プリエンプションまたは割り込みを無効にするエリアを追跡し、プリエンプションまたは割り込みが無効となった最大時間を記録します。
- preemptoff
- preemptirqsoff トレーサーと似ていますが、プリエンプションが無効化された最大間隔のみをトレースします。
- irqsoff
- preemptirqsoff トレーサーと似ていますが、割り込みが無効化された最大間隔のみをトレースします。
- nop
-
デフォルトのトレーサー。それ自体には追跡機能は提供されませんが、イベントはどのトレーサーにも組み込むことができるため、
nopトレーサーは特定のイベントの追跡に使用されます。