活动监视器不显示文件系统调用,仅提供进程级磁盘写入量等概览信息,用于快速定位可疑进程;需结合lsof、fs_usage等终端工具追踪具体文件操作。
活动监视器本身不直接显示文件系统调用(如 open、read、write、unlink 等底层操作),它提供的是进程级资源概览——比如 cpu、内存、能耗、磁盘读写字节数、网络流量等。它能告诉你“哪个进程在大量写磁盘”,但不会告诉你它写了哪个文件、何时写的、写了多大块数据。
要真正追踪文件系统调用,需配合终端命令。活动监视器在这里的角色是:快速定位可疑进程,为后续深度追踪提供目标。
用活动监视器筛出“写盘大户”
- 打开「活动监视器」→ 切换到「磁盘」标签页
- 点击「写入字节」列排序,找出实时写入量最高的进程(例如
mds_stores、backupd、GoogleDriveFS、某个 IDE 或同步工具) - 注意观察「写入」列的瞬时速率(B/s、KB/s、MB/s),持续飙升往往意味着异常行为
- 右键该进程 → 「在访达中显示」或「在终端中打开」可辅助判断其用途
小提示:
kernel_task写入高通常不是它自己在写,而是替其他驱动或内核扩展代劳,需进一步排查。
锁定进程后,用终端深挖文件操作
一旦通过活动监视器找到目标 PID 或进程名,立刻切到终端执行:
-
查看该进程当前打开的所有文件路径:
lsof -p PID | grep -E "\.log$|\.tmp$|\.db$|\.sparseimage$"
-
实时抓取它的全部文件系统调用(含路径和操作类型):
sudo fs_usage -w -f filesystem -p PID
加
-w防截断路径,加-f filesystem过滤只留文件操作,避免混入网络或信号事件。 -
若想排除干扰(比如不想看到
fs_usage自己的日志):sudo fs_usage -e fs_usage -w -p PID
结合活动监视器与 df 观察空间变化趋势
有时你发现磁盘空间莫名减少,但活动监视器里没看到明显写入进程——这可能因写入是短时爆发或已结束。
这时可以:
- 在终端运行:
watch -n 1 'df -h / | tail -1'
- 同时盯住活动监视器「磁盘」页的「写入字节」总累计值
- 两者联动,能确认空间下降是否与某次写入峰值同步,再回头查那个时段的
fs_usage日志(建议提前开启日志重定向)
活动监视器是起点,不是终点。它帮你把“系统很卡/磁盘狂转”缩小到“可能是这个进程干的”,剩下的细节必须交给 fs_usage、lsof、fswatch 这类工具补全。











