什么原因导致 OS X 上的所有磁盘活动?

什么原因导致 OS X 上的所有磁盘活动?

偶尔我的 Macbook Pro 会因为硬盘无休止地咔嗒作响而变慢。CPU 负载很低,但应用程序和菜单项响应缓慢。是否有实用程序可以帮助我确定发生了什么,例如一段时间内每个进程读取/写入的字节数或打开/关闭的文件数?

答案1

man iotop

iotop 按进程跟踪磁盘 I/O,并打印每隔一段时间刷新一次的摘要报告。

这是对已经通过系统缓存的磁盘事件的测量。

由于这使用了 DTrace,因此只有 root 用户或具有 dtrace_kernel 权限的用户才能运行此命令。

这可能不是您想要的 - 但它是一个围绕 dtrace 的 ksh 脚本,因此如果 iotop 默认不处理它,您应该能够弄清楚如何让 dtrace 做您需要的事情。

然而,类似的东西iotop -C 5 12应该给你一些开始:它将输出 12 个样本,每个样本长 5 秒。

答案2

您还可以使用它fs_usage来获取哪些应用程序正在访问磁盘的详细说明。

答案3

我总是在星期六早上注意到这一点,结果发现locate该网站于每周五晚 3:15 更新数据库。

我尝试禁用它的launchd配置(在/System/Library/LaunchDaemons/com.apple.locate.plist),但它仍然在运行,所以我就把它移开/usr/libexec/locate.updatedb了。问题……减轻了。

答案4

这可能是操作系统对虚拟内存的分页,而不是应用程序特定的内容。您可以尝试退出不常用的应用程序,或者至少重新启动一些喜欢随着时间的推移建立内存缓存的应用程序(例如 Safari)。使用以下方法查看每个进程的各种内存统计信息:活动监视器找到可能的罪魁祸首。如果退出一些占用大量内存的应用程序似乎可以暂时缓解问题,您可以尝试添加 RAM。

如果磁盘活动与分页无关,您可能能够使用fs_usage将其追溯到一个或多个特定流程。

相关内容