linux各种trace工具,ftrace和它的前端工具trace-cmd(深入了解Linux系统的利器)

原创文章,转载请注明: 转载自Erlang非业余研究

本文链接地址:

ftrace和它的前端工具trace-cmd(深入了解Linux系统的利器)

最近在调查lockless的ring_buffer的时候,发现了ftrace.

ftrace是 Linux 内核中提供的一种调试工具。使用 ftrace 可以对内核中发生的事情进行跟踪,这在调试 bug

或者分析内核时非常有用.

什么是ftrace: 请参考http://lwn.net/Articles/322666/

什么是trace-cmd – command line reader for ftrace:

请参考http://lwn.net/Articles/341902/

trace-cmd配置:

请参考http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_MRG/1.3/html/Realtime_Tuning_Guide/sect-Realtime_Tuning_Guide-Realtime_Specific_Tuning-Latency_Tracing_Using_trace_cmd.html

ftrace在2.6.28-rc2以后的Linux内核都支持的, 当然包括RHEL6(2.6.32),

我粗粗的演示下ubuntu 10.10下的使用:

$ sudo apt-get -y install trace-cmd

$ man trace-cmd-record #这个是最核心的功能,收集数据的

$ sudo trace-cmd record -e sched_switch ls > /dev/null

disable all

enable sched_switch

offset=464000

offset=466000

$ trace-cmd report

version = 6

...

cpus=2

ls-8588 [001] 16611.191996: sched_switch: 8588:120:R ==> 8587:120: trace-cmd

trace-cmd-8587 [001] 16611.192040: sched_switch: 8587:120:S ==> 8588:120: ls

Xorg-1360 [000] 16611.192868: sched_switch: 1360:120:R ==> 1979:120: alsa-sink

ls-8588 [001] 16611.192979: sched_switch: 8588:120:R ==> 1909:120: pulseaudio

...

类似的功能,当然可以用systemtap来写,但是有现成的工具总是更方便.

trace-cmd使用的模式总是先record收集数据,然后report.

trace-cmd目前支持以下插件plugins:

blk function_graph mmiotrace wakeup_rt wakeup function sched_switch

nop

对于大部分的系统调优是足够的,更多的使用场景有待大家挖掘.

祝大家玩的开心!

Post Footer automatically generated bywp-posturl pluginfor

wordpress.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值