宏定义
在使用 ftrace 之前,需要确保内核配置编译了其配置选项。
config_ftrace=y
config_have_function_tracer=y
config_have_function_graph_tracer=y
config_have_dynamic_ftrace=y
config_function_tracer=y
config_irqsoff_tracer=y
config_sched_tracer=y
config_enable_default_tracers=y
config_ftrace_syscalls=y
config_preempt_tracer=y
而后在 /sys/kernel/debug/trace 目录下提供了各种跟踪器(tracer)和 event 事件,一些常用的选项如下。
available_tracers:列出当前系统支持的跟踪器。
available_events:列出当前系统支持的 event 事件。
current_tracer:设置和显示当前正在使用的跟踪器。使用 echo 命令可以把跟踪器的名字写入该文件,即可以切换不同的跟踪器。默认为
nop,即不做任何跟踪操作。
trace:读取跟踪信息。通过 cat 命令查看 ftrace 记录下来的跟踪信息。
tracing_on:用于开始或暂停跟踪。
trace_options:设置 ftrace 的一些相关选项。
ftrace 当前包含多个跟踪器,很方便用户用来跟踪不同类型的信息,例如进程睡眠唤醒、抢占延迟的信息。查看 available_tracers
可以知道当前系统支持哪些跟踪器,如果系统支持的跟踪器上没有用户想要的,那就必须在配置内核时自行打开,然后重新编译内核。常用的 ftrace 跟踪器如下。
nop:不跟踪任何信息。将 nop 写入 current_tracer 文件可以清空之前收集到的跟踪信息。
function:跟踪内核函数执行情况。
function_graph:可以显示类似 c 语言的函数调用关系图,比较直观。
wakeup:跟踪进程唤醒信息。
irqsoff:跟踪关闭中断信息,并记录关闭的最大时长。
preemptoff:跟踪关闭禁止抢占信息,并记录关闭的最大时长。
preemptirqsoff:综合了 irqoff 和 preemptoff 两个功能。
sched_switch:对内核中的进程调度活动进行跟踪。
时域在数字射频领域中的作用
ROS中的TF该如何使用
量子物理学启用下一个加密密钥
电容传感器相关技术及其应用
全自动核酸提取仪的产品特点的详细介绍
Linux ftrace工具宏定义
单片机中的拉电流和灌电流是什么意思
5G产业未来的发展趋势分析
手机无线充电主流芯片介绍
MM32F0163D7P的ADC内部1.2V参考电压的使用
三星 Galaxy Buds Pro 真无线蓝牙耳机正式发布,智能主动降噪(ANC)功能
江波龙FORESEE品牌持续发力 抢占大容量嵌入式芯片市场
麒麟960在深层次上的性能
李默芳讲述了她对中国移动20年历程的观察和思考
工业&协作机器人在CIMT2023上掀起的一股“协作&智能”风暴
电池修复技术交流学习-电池气死回生的反充可行吗?
科迎法电气EherCAT远程I/O模块新增一款EtherCAT通讯协议
新华三对集群路由器未来的产品规划
湖北黄冈首座电杆塔附挂5G基站成功落点
企业如何选择合适的云平台