如何确定 fs_usage 引用的特定文件(按块列出)

如何确定 fs_usage 引用的特定文件(按块列出)

我正在调查 Mac OS X 10.6.8 Server 上的一个问题,用户抱怨访问速度变慢。网络吞吐量慢得像爬行一样。感觉就像服务器负担过重。系统指标显示 NIC 的数据速率低于 10MBps,而 Promise VTrak 610fD RAID 机箱的 Web 管理界面显示为 40MBps。机箱显示一个阵列的 IOPS 为 8500。

使用fs_usage,我观察到 AppleFileService 在特定的 HFS+J 卷上以过高的频率执行 RdMeta。

13:48:05.783    RdMeta   D=0x00009fc9  B=0x1000     /dev/disk6s2   0.000095 W AppleFileServer     
13:48:05.783    RdMeta   D=0x00009fca  B=0x1000     /dev/disk6s2   0.000097 W AppleFileServer     
13:48:05.783    RdMeta   D=0x00009fcb  B=0x1000     /dev/disk6s2   0.000096 W AppleFileServer 

当我暂时停止共享磁盘 6 上的卷时,问题得到了解决。我想知道列出的设备上与这些磁盘块编号(40905、40906、40907 等)相关的数据。

我可以使用什么工具来识别与这些块相关的文件?

答案1

我暂时想不出用 Mac OS X 附带的工具解决这个问题的简单方法,但你可以用文件Xray这是 iohead 提供的强大的商业 HFS+ 取证命令行工具(我已经亲自测试并证实了这一点,它的效果非常好):

sudo fileXray -W <block#>

即使你决定不购买他们强大的软件,免费手册对 HFS+ 等的低级细节给出了一些有趣的见解。

相关内容