从这里http://wikis.sun.com/display/DTrace/nfsv3+Provider
在OpenIndiana上
DTrace脚本:
正在失败:
probe description nfsv3:::op-* matches an unstable set of probes
脚本nfsv3fileio.d的作品,但具有非常大的Rbytes和Wbytes行之一的path名为
<unknown>
有没有人知道这些失败的细节和解决方法是什么?
第一个脚本因为示例不正确而失败。 你不能以这种方式引用args[] ,因为在这种情况下匹配模式的探针可能会来来去去,所以不能保证args[N]的types。 您需要单独列出每个nfs3-op-* ,逗号分隔的nfs3:::op-read-start,nfs3:::op-write-start等,对于您关心的每个操作。
对于nfsv3fileio.d ,“未知”的Rbytes和Wbytes非常大,因为它们是未知path(可能是几个,也许是很多)的所有I / O的总和。
path是<unknown>因为内核只是懒惰地将path信息存储在vnode中(如果它碰巧存在,它被存储,但不会被主动find)。 因此并不总是可用的。 有些技巧有时会强制它到位(我似乎记得在所讨论的FS中find应该这样做,但我的记忆可能是在玩技巧)。