从这里http://wikis.sun.com/display/DTrace/nfsv3+Provider
在 OpenIndiana 上
DTrace 脚本:
- nfsv3io.d
- nfsv3ops.d
失败的原因有:
probe description nfsv3:::op-* matches an unstable set of probes
脚本 nfsv3fileio.d 可以运行,但其中一行 Rbytes 和 Wbytes 非常大,其路径名为
<unknown>
有人知道这些故障的详细信息以及解决方法吗?
答案1
第一个脚本失败,因为示例不正确。您无法args[]
在以这种方式遍历探测器的同时进行引用(因为匹配模式的探测器可能会在启用仍然有效时出现和消失,因此args[N]
无法保证类型)。您需要为您关心的每个操作nfs3-op-*
逐一列出,以逗号分隔 等。nfs3:::op-read-start,nfs3:::op-write-start
因为nfsv3fileio.d
“未知”的 Rbytes 和 Wbytes 非常大,因为它们是所有未知路径(可能是几个,也可能很多)的 I/O 的总和。
路径是<unknown>
因为内核只是懒惰地将路径信息存储在 vnode 中(如果碰巧存在,则会存储,但不会主动查找)。因此,路径并不总是可用的。有时有一些技巧可以强制它到位(我似乎记得应该find
通过所涉及的 FS 来实现这一点,但我的记忆可能在作怪)。