ftrace

ftrace 内核函数追踪

补充说明

ftrace 是 Linux 内置的内核追踪框架,通过 tracefs 追踪函数调用、调度、中断和延迟。它不需要安装额外工具,适合定位内核态卡顿、IO 延迟和调度问题。

常用 tracer:function、function_graph、irqsoff、preemptoff、wakeup、sched_switch。输出在 /sys/kernel/tracing/trace。

常用示例

查看可用 tracer:

cat /sys/kernel/tracing/available_tracers

启用函数图追踪:

cd /sys/kernel/tracing
echo function_graph > current_tracer
echo 1 > tracing_on
sleep 5
echo 0 > tracing_on
cat trace | head -100

只追踪指定函数:

echo 'vfs_read' > set_graph_function
echo function_graph > current_tracer

过滤进程:

echo $$ > set_ftrace_pid

清理配置:

echo nop > current_tracer
echo > trace

查看追踪器开销:

cat /sys/kernel/tracing/trace_stat/function0

易错点与排错