![弹出 USB 驱动器后,diskarbitrarationd 会消耗 100% 的 CPU 达 10 分钟之久](https://linux22.com/image/1345216/%E5%BC%B9%E5%87%BA%20USB%20%E9%A9%B1%E5%8A%A8%E5%99%A8%E5%90%8E%EF%BC%8Cdiskarbitrarationd%20%E4%BC%9A%E6%B6%88%E8%80%97%20100%25%20%E7%9A%84%20CPU%20%E8%BE%BE%2010%20%E5%88%86%E9%92%9F%E4%B9%8B%E4%B9%85.png)
最近,我从 Macbook 弹出 Seagate SRD0SP0 USB 2.0 硬盘时遇到了问题。它有两个分区,一个是我的 Time Machine 备份,另一个是用于媒体的 ExFAT 分区。还有一个稀疏捆绑磁盘映像。
弹出时,diskarbitrationd 会占用一个 CPU 的 100%,持续约 10-15 分钟,直到最终弹出。控制台包含以下内容...
1/2/13 6:02:32.097 PM fseventsd[67]: could not open <</Volumes/ExFAT/.fseventsd/fseventsd-uuid>> (No such file or directory)
1/2/13 6:02:32.097 PM fseventsd[67]: log dir: /Volumes/ExFAT/.fseventsd getting new uuid: B0B6D688-5CB1-4236-BA7E-BB90E19D3C10
1/2/13 6:07:58.336 PM fseventsd[67]: Events arrived for /Volumes/DiskImage after an unmount request! Re-initializing.
1/2/13 6:07:58.336 PM fseventsd[67]: creating a dls for /Volumes/DiskImage but it already has one...
1/2/13 6:08:03.755 PM fseventsd[67]: Events arrived for /Volumes/ExFAT after an unmount request! Re-initializing.
1/2/13 6:08:03.755 PM fseventsd[67]: creating a dls for /Volumes/ExFAT but it already has one...
1/2/13 6:08:04.227 PM mds[57]: (Error) LSOF: File '/Volumes/ExFAT' (fd=11) left open on device 16777222
1/2/13 6:15:53.927 PM SystemUIServer[302]: Error getting disk for path /Volumes/Backup: Couldn't stat disk
1/2/13 6:16:08.033 PM SystemUIServer[302]: Error getting disk for path /Volumes/Backup: Couldn't stat disk
我已更改卷名称,以便更明显地知道哪个是哪个。
我在两个分区上运行了 Disk First Aid。这是 OS X 10.8.2,几周前安装的。我没有运行任何特殊软件,但 Sophos An
对于问题可能是什么或者如何进行诊断,您有什么想法吗?
答案1
我不得不说我不确定,但对我来说,记录的“事件”的问题似乎是稀疏束磁盘映像的索引。
我认为“Spotlight”会尝试索引以下两者:
- 磁盘映像已安装(并索引)卷,因为您可能会编辑某些内容(也许是非自愿的 - 保留查看
lsof
或类似的东西)。 - 以及包含该磁盘映像的目录,因为上一点(以及稀疏捆绑磁盘映像的性质)。
我认为后者可能会持续更新其索引,直到前者完成为止……
也许 Mac OS X 会尝试对稀疏束的部分进行碎片整理……
也许(也可能)是防病毒软件被配置为对已安装的卷执行某些操作……(而您可能根本不需要它)
第一个日志让我想到了坏块...也许是驱动器故障?
此外,请考虑 exFAT 针对闪存驱动器而非机械硬盘进行了优化;这可能会在某种程度上影响整体性能……
另外,我曾经读到过(我不记得在哪里)Mac OS X 的 exFAT 实现并不是很好;老实说,我没想到苹果自第一次集成以来就改变了它。
我建议的解决方案(因为日志中主要提到了 Spotlight)是将磁盘映像文件(以及您不需要索引的任何其他文件)移动到子目录,并指示 Spotlight 的元数据服务器不要索引它,也不要索引(如果您不介意的话)相应的已安装卷(您可以使用mdutil
命令行工具);但我建议根本不要索引 exFAT 分区,除非您真的需要它。但我会密切关注驱动器的健康状况和 Sophos 的行为……