列出目录/文件时 OS X 明显滞后

列出目录/文件时 OS X 明显滞后

我在列出目录/文件时遇到了一些严重的 OS X 延迟。我最初以为这纯粹是 Finder 的问题,而不是 HD 或 OS X 的任何其他部分的问题,但是后来我注意到其他应用程序(例如 Versions 和 The Unarchiver)也存在一些文件访问延迟,所以我真的不知道问题出在哪里。

延迟主要出现在 Finder 中列出目录/文件时,我看到最多十二秒左右的延迟(文件夹打开时显示空白列表,微调器位于右下角)。

  • 这发生在两个不同的(尽管非常配置类似的计算机
  • 本地 SSD 和网络驱动器(通过以太网或 wifi 连接)都会发生这种情况
  • 在终端和列表目录中浏览本地和网络驱动器都是即时的
  • 我实际上可以通过 3G 连接从国家另一端用手机浏览 NAS 上的文件,速度比连接到本地网络时的 Finder 更快

有人能帮忙吗?谢谢。

编辑:

使用该fs_usage命令进行测试后,似乎是 launchd 导致速度变慢。在打开两个需要很长时间才能列出的目录后,出现了这两行:

13:23:58.528825  select         S=1       4.493972 W launchd.1347
13:24:58.572283  select         S=1       9.954218 W launchd.1347

有什么想法吗?

第二次编辑:

进一步fs_usage记录一些附加条目:

13:44:26.172945  select           S=1           1.157757 W Finder.4854
13:44:32.653263  select           S=1           9.987226 W launchd.1345
13:44:32.686134  select           S=1           1.327516 W dbfseventsd.3639
13:44:42.152977  select           S=1           9.473943 W launchd.1345
13:44:42.173888  select           S=1           9.487425 W dbfseventsd.3639
13:44:46.135971  select           S=1           19.926955 W Finder.4854
13:44:47.623476  select           S=1           1.472648 W Finder.4854
13:44:48.718721  select           S=1           2.344869 W dbfseventsd.3639
13:44:52.657413  select           S=1           1.615911 W launchd.1345
13:45:12.591938  select           S=1           15.687167 W launchd.1345
13:45:15.359595  select           S=1           2.747797 W dbfseventsd.3639

答案1

评论中已经提到了导致 Finder 变慢的一些常见原因,例如损坏或 .DS_Store 文件过大或大量文档导致系统显示每个文档的预览。

如果您确实想要跟踪 IO,您可以使用命令fs_usage将所有文件系统活动转储到终端窗口,并可选择从您不关心的程序中 grep 出结果,同时丢弃所有短 IO,以了解哪些 IO 需要花费超过百分之一秒才能完成。

sudo fs_usage -w | grep -v grep | grep -v 0.00

在您对问题的编辑中,缓慢的 IO 看起来并没有什么可疑之处。您无法真正摆脱 launchd - 如果它阻止了 Finder 中的 IO - 那可能是因为网络文件系统没有响应(或者网络存在数据包延迟很长时间的问题)。

遗憾的是,如果手机客户端真的比 Finder 快很多,您可能需要从手机客户端浏览并继续观察 IO。也许如果您断开所有网络共享,您可能会看到 IO 速度变慢,并能够得出结论,您确实存在网络延迟/问题,而不是 Finder/CPU/本地问题。我希望 fs_usage 转储中会出现一些问题 - 但您的结果在我看来很正常。

相关内容