Skip to content

三层测量模型

FindDiskKiller 将信息组织为三个层次。理解这些层次的区别有助于您正确解读数字的含义及其边界。

应用层

您看到的:应用 CPU、磁盘读写、网络收发。

这些数字的含义:

  • 磁盘 I/O 是内核报告的该进程在所有磁盘上的合计值,不等于某块特定 SSD 的 NAND 写入量。
  • CPU 可能超过 100%,因为 macOS 按核心报告 CPU 使用率。一个多线程应用使用 2 个满核心时显示为 200%。
  • 网络 下载与上传分开显示,方便区分数据拉取和同步上传。

设备层

您看到的:物理设备实际吞吐及与挂载卷的关系。

这些数字的含义:

  • 设备计数器反映通过 I/O 子系统的实际字节数。
  • 不等于各进程 I/O 的简单加总。缓存、APFS 写时复制、文件系统元数据和内核活动都会消耗设备 I/O,而这些并不归属于任何单个进程。
  • 设备吞吐数字与进程 I/O 数字是独立的。直接将两者对比不会平衡。

文件层

您看到的:最近修改的文件、打开文件位置和按需访问追踪。

这些数字的含义:

  • “最近修改”来自 FSEvents。它显示某个位置发生了变化——但这本身不能证明是哪个进程做出的修改。
  • 文件访问追踪记录的是应用向系统请求的读写量(系统调用)。实际物理 I/O 可能因缓存、APFS 快照、压缩和内存映射 I/O 而有所不同。
  • 追踪停止后,记录即终止。数据缺失显示为“数据不可用”而非零——这样您能区分“没有活动”和“缺少信息”。

CPU 与 5 秒速率

“最近 5 秒”速率由间隔 5 秒的两次采样计算得出。它反映最近的活动窗口而非平滑平均值,在突发性工作负载下可能快速波动。

“不可用”的含义

某些字段可能不可用,原因包括:

  • 设备不报告该 SMART/NVMe 属性(例如许多外接 USB 硬盘盒)。
  • 您尚未授予所需权限。
  • 追踪已停止或尚未开始。
  • macOS 未暴露所需信息。

当数据不可用时,界面会明确显示为不可用,而非显示为零。

为什么进程磁盘 I/O 不等于 SSD NAND 写入

每个进程显示的 I/O 数字是该进程请求内核读取或写入的字节数。在进程和物理 NAND 闪存之间有多层:统一缓冲区缓存、APFS 写时复制和快照、SSD 控制器内部的写入放大、垃圾回收和磨损均衡。这些都不归属于单个进程,因此进程 I/O 计数应理解为“请求的 I/O”而非物理介质消耗。