24.3. trace-cmd 示例
命令示例演示了如何使用 trace-cmd
工具跟踪内核功能。
例子
在 myapp 运行时,启用并启动在内核中执行的记录功能。
trace-cmd record -p function myapp
# trace-cmd record -p function myapp
Copy to Clipboard Copied! 这记录了所有 CPU 和所有任务的功能,即使与 myapp 无关。
显示结果。
trace-cmd report
# trace-cmd report
Copy to Clipboard Copied! 仅记录在 myapp 运行时以 sched 开头的功能。
trace-cmd record -p function -l 'sched*' myapp
# trace-cmd record -p function -l 'sched*' myapp
Copy to Clipboard Copied! 启用所有 IRQ 事件。
trace-cmd start -e irq
# trace-cmd start -e irq
Copy to Clipboard Copied! 启动
wakeup_rt
tracer。trace-cmd start -p wakeup_rt
# trace-cmd start -p wakeup_rt
Copy to Clipboard Copied! 在禁用功能追踪时启动
preemptirqsoff
tracer。trace-cmd start -p preemptirqsoff -d
# trace-cmd start -p preemptirqsoff -d
Copy to Clipboard Copied! 注意RHEL 8 中的
trace-cmd
版本关闭ftrace_enabled
,而不是使用function-trace
选项。您可以使用trace-cmd start -p
功能再次启用ftrace
。恢复在
trace-cmd
启动修改前系统所处的状态。trace-cmd start -p nop
# trace-cmd start -p nop
Copy to Clipboard Copied! 如果要在使用
trace-cmd
后使用debugfs
文件系统(无论是在 meantime 中重启系统),这是很重要的。跟踪单个追踪点。
trace-cmd record -e sched_wakeup ls /bin
# trace-cmd record -e sched_wakeup ls /bin
Copy to Clipboard Copied! 停止追踪。
trace-cmd record stop
# trace-cmd record stop
Copy to Clipboard Copied!