Linux上安装dtrace(劝退篇)

个人博客
DTrace是Solaris下的产物,Linux则水土不服,建议不要用了,使用其替代品:BPF(Berkeley Packet Filter,伯克利包过滤器),用法及语法非常相似,功能也是异常的强大,Linux内核层原生支撑其功能。
----------------------

为了追踪一下自己写的nginx模块的性能, 加上之前看了agentzh大哥的nginx教程, 决定使用dtrace来进行诊断. 在agentzh的教程中, 利用了dtrace来查看access中使用lua的性能状况.

因为之前也有了解过其它的性能检测工具. 褚霸大哥的博客上多次提到了systemtap工具. 这两个工具有相似之处, 大家可以猛击这里查看它们比较.

因为网上有关的信息很少, 这里简单记录下dtrace的安装过程. 因为dtrace是Solaris下的产物, 原生是不支持linux平台的. 后来Paul D. Fox发起了dtrace4linux项目, 这里有一个他本人在stackoverflow上的一个解答.

废话不多说了(好吧, 我承认已经说了很多了…), 直接切入正题:

首先是下载

$ wget ftp://crisp.dyndns-server.com/pub/release/website/dtrace/dtrace-20130530.tar.bz2
$ tar -xf dtrace-20130530.tar.bz2

然后是安装

这里需要看一下README. 首先是安装相关依赖, 根据不同的操作系统执行:

$ tools/get-deps.pl # if using Ubuntu
$ tools/get-deps-fedora.sh # RedHat/Fedora

这里可能会需要重启计算机(在Debian要求了, 但是Fedora下不需要). 接着执行:

$ make all
$ make install
$ make load (need to be root or have sudo access)

至此大功告成, 有关dtrace的使用之后再总结吧. 希望对大家有所帮助.

附上一个手册: dtrace user guide

后记

折腾了半天, 发现dtrace对linux支持不是很好, 执行脚本一会儿成功, 一会儿失败, 偶尔还重启, 也google不到解答…

郁闷….

dtrace bpf

分享到:
评论加载中,请稍后...
回到顶部