19.3. trace-cmd の例
以下のコマンド例で、trace-cmd
ユーティリティーを使用してカーネル機能をトレースする方法を示します。
例
myapp の実行中に、カーネル内で実行中の記録機能を有効にして開始します。
# trace-cmd record -p function myapp
これにより、myapp に無関係なタスクであっても、すべての CPU およびすべてのタスクの関数が記録されます。
結果を表示します。
# trace-cmd report
myapp の実行中に、sched で始まる関数のみを記録します。
# trace-cmd record -p function -l 'sched*' myapp
すべての IRQ イベントを有効にします。
# trace-cmd start -e irq
wakeup_rt
トレーサーを起動します。# trace-cmd start -p wakeup_rt
関数トレースを無効にしながら、
preemptirqsoff
トレーサーを起動します。# trace-cmd start -p preemptirqsoff -d
注記RHEL 8 の
trace-cmd
は、function-trace
ではなくftrace_enabled
を無効にします。trace-cmd start -p
機能を使用すると、ftrace
を再度有効にできます。trace-cmd
が変更を開始する前の状態にシステムを戻します。# trace-cmd start -p nop
trace-cmd
を使用した後にdebugfs
ファイルシステムを使用する場合は、システムを再起動したかどうかに関係なく、これが重要になります。1 つのトレースポイントをトレースします。
# trace-cmd record -e sched_wakeup ls /bin
トレースを停止します。
# trace-cmd record stop