DTrace限于Centos / Fedora

我想在Centos 6盒子上解决问题。 我跑了dtrace,失败了。 它不接受-n-l-P或任何命令行选项。 它声称只接受-h-G-C-I-s-o 。 我想这肯定是一些奇怪的Centos的东西,所以我去validation一个Fedora 22盒子。 同样的问题。 它只接受数量非常有限的命令行选项。 我去了一个Oracle盒子,这个盒子非常像Red Hat Centos和Fedora类似。 它工作正常。 我能够运行dtrace并获得所有命令行选项的长列表。 我回到了Centos和Fedora。 当我inputdtrace ,输出是Usage /bin/dtrace [--help] [-h | -G] [-C [-I<Path>]] -s File.d [-o <File>] Usage /bin/dtrace [--help] [-h | -G] [-C [-I<Path>]] -s File.d [-o <File>] 。 所以,经过一个小时的谷歌search,我已经放弃了。 如何让dtrace在Centos / Fedora上正常工作? 我已经尝试了作为根和用户。 我已经search包来增加function。 我试过删除并重新安装dtrace。 剩下的唯一的东西就是删除软件包并从源代码安装dtrace。

您在Oracle Linux上find的dtrace 不是 Linux systemtap附带的dtrace,您可以在任何其他Linux发行版上find。

而是Oracle提供的Solaris dtrace端口,只能在Oracle Linux上使用。

这两个命令是完全不同的,有不同的目的。

标准的Linux内核跟踪工具被称为systemtap,Oracle的dtrace只是一个专有的包装器。 你总是可以直接使用systemtap 。

来自非Oracle Linux发行版的dtrace脚本是systemtap项目的一个小工具。 它仅提供了solaris dtrace的<sys/sdt.h>相关对象/头文件构buildfunction。 它把它映射到systemtap数据结构,所以stap -L 'process("a.out").mark("*")探针将列出这个工具。

您可以从源代码安装Sun / Oracle dtrace的Linux端口:

https://github.com/dtrace4linux/linux