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

Jac*_*ght 6 mac finder hard-drive lag macos

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

滞后主要出现在在 Finder 中列出目录/文件时,在那里我看到任何长达 12 秒左右的滞后(文件夹打开时显示空白列表,微调器位于右下方)。

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

任何人都可以帮忙吗?谢谢。

编辑:

使用该fs_usage命令进行测试后,它似乎已启动,这会减慢速度。这两行是在打开两个需要很长时间才能列出的目录之后出现的:

13:23:58.528825  select         S=1       4.493972 W launchd.1347
13:24:58.572283  select         S=1       9.954218 W launchd.1347
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

第二次编辑:

进一步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
Run Code Online (Sandbox Code Playgroud)

bmi*_*ike 1

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

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

sudo fs_usage -w | grep -v grep | grep -v 0.00
Run Code Online (Sandbox Code Playgroud)

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

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