内核追踪工具:trace-cmd、KernelShark、perf-tools 及 LTTng 全解析
1. trace-cmd 与内核模块
ftrace 具备自动识别内核模块内所有函数的能力,作为 ftrace 的前端工具,trace-cmd 也能自动识别这些函数。为验证这一点,可按以下步骤操作:
1. 加载之前使用过的模块,如 ch5/kmembugs_test/test_kmembugs.ko 。
2. 使用 trace-cmd list -f 命令,并通过 grep 查找该模块的函数,这些函数会显示出来。
若要追踪特定模块的函数,可使用以下命令:
trace-cmd record [...] --module <module-name> [...]
此外,还有一个基于 trace-cmd 实用工具的包装脚本 trccmd ,其 GitHub 仓库为:https://github.com/kaiwan/trccmd 。例如,使用该工具追踪单个 ping 数据包的流程:
./trccmd -F 'ping -c1 packtpub.com' -e 'net sock skb tcp udp'
2. 使用 KernelShark GUI
KernelShark 是 trace-cmd 输出的优秀 GUI 前端,它能解析由
超级会员免费看
订阅专栏 解锁全文
2138

被折叠的 条评论
为什么被折叠?



