macOS 无独立“隐藏文件操作实时性能监控器”,但内置 fs_usage 等终端命令提供内核级实时监控:fs_usage 抓取底层文件操作,fswatch 响应式监听目录事件,stat+循环追踪文件状态,全基于原生 FSEvents/VFS/系统调用。macOS 没有叫“隐藏的文件操作实时性能监控器”的独立图形界面工具,但系统确实内置了**真正实时、内核级的文件操作监控能力**,全部可通过终端指令开启——核心就是 `fs_usage`,它是 macOS 原生支持、无需安装、直连 FSEvents 和 VFS 层的监控命令。 下面这三类指令组合,就是你实际可用的“隐藏性能监控器”:
用 fs_usage 实时抓取所有文件读写行为
这是最接近系统底层的监控方式,能看见每个进程打开、读、写、删除、重命名等动作,含路径、大小、耗时:
- 运行 sudo fs_usage -w -f filesys:持续输出完整路径的文件系统调用(需输密码)
- 加 -t 0.5 设定刷新间隔,减少刷屏:sudo fs_usage -w -f filesys -t 0.5
- 排除自身干扰更干净:sudo fs_usage -e fs_usage -w -f filesys
- 只看写操作(定位异常磁盘占用):sudo fs_usage -w | grep "write.*data"
用 fswatch 监控目录变更事件(轻量响应式)
fswatch 不是系统自带,但它是 macOS 上最适配 FSEvents 的第三方工具,安装后即用,不轮询、低开销、事件精准:
- 安装:brew install fswatch(需先装 Homebrew)
- 监听某目录变化并打印路径:fswatch -o ~/Desktop
- 监听多个路径:fswatch -o ~/Documents ~/Downloads
- 配合 shell 做简单响应(例如新文件出现就提醒):fswatch -o ~/Downloads | xargs -n1 say "有新文件"
用 stat + 循环实现秒级文件状态追踪
适合观察单个关键文件(如日志、数据库、APFS 克隆体)是否被修改、大小是否增长、inode 是否变化:
- 每秒打印文件大小和修改时间:while true; do stat -f "%z bytes — %Sm" -t "%H:%M:%S" ~/Library/Logs/system.log; sleep 1; done
- 对比两个文件是否还是同一克隆(inode 相同 = 未触发写时复制):stat -f "%i %z" file1 file2
- 同步查看磁盘空间变化:watch -n1 "df -h / | grep '\/$'"



















