Linux下调试与性能分析工具的总结

  • 时间:
  • 浏览:1

cat /sys/kernel/debug/trace/available_events

(例子来源于内核源码Documentation/trace)

stack

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/feilengcui008/article/details/512006894

perf_events和对应的前端工具perf提供了硬件和软件层面的计数等性能分析。其源码存在

内核源码树tools/perf目录下。

(此文主要用来记录某些调试,性能测试与分析等工具的用法,备忘)

ftrace的核心代码存在kernel/trace目录下,ftrace.c注册了debugfs下的trace目录,

trace_kprobe.c和trace_uprobe.c提供了kprobe和uprobe的接口。除了kprobe和uprobe,

ftrace还提供了events支持,主要存在/kernel/sys/debug/trace/events, 主要包括

硬件事件,内核软件事件,以及静态tracepoints的事件。都还都可以 通过下面命令查看支持的事件:

其最基本的用法大家都还都可以 写内核模块注入某个探测点的探针,做某些追踪与统计分析,

但通常会有更方便的框架以及其前端工具,比如下面将提到的ftrace与trace-cmd,

perf_events与perf, systemtap, 还有基于那些前端工具的工具perf-tools…

ftrace框架主要以debugfs中/sys/kernel/debug/trace文件系统的形式提供了静态和动态

追踪的接口,ftrace框架有命令行和图像化的前端工具trace-cmd 和 kernelshark。然后

提供了不同种类的tracer, 都还都可以 使用下面命令查看:

cat /sys/kernel/debug/trace/available_tracers

data