Windows 11 ETW 自动记录器:究竟向磁盘写入了什么
本页内容
在纯净的 Windows 11 26H2 中注册了 39 个 ETW 自动记录器会话,其中 19 个已启用,但开机后真正写入磁盘的只有 9 个。另有 3 个存在于内存环形缓冲区中(磁盘开销为零),5 个在没有文件的情况下实时运行,还有 2 个 Defender 会话实际上不会启动。主要的事件生成器是 Diagtrack-Listener:在遥测服务运行时,约 110 MB 事件/2 小时。在自动记录器文件占用的 32 MB 中,28 MB 是预分配的空白文件。
状态: 目录通过静态读取注册表收集;实际状态通过开机 2 小时后的快照验证。一个版本,一台虚拟机;迁移到其他配置(带 WiFi 的笔记本电脑、使用 ReFS 的系统)会改变活动文件的组成。
待验证的论断
Section titled “待验证的论断”我们验证了三个论断:
- “禁用自动记录器”是一个单一明确的操作,且活动会话的组成很少。
- 自动记录器文件占用大量空间。
- 诊断跟踪在空闲时会产生显著的事件流。
- Windows 11 Pro,build 26300.9457 (26H2),无 WiFi 模块的虚拟机;
- Autologger 注册表项:全部 39 个会话、其启动标志、文件模式和连接的提供程序;
- 纯净系统开机 2 小时后会话和文件的实际状态;
- 1115 个已注册的 ETW 提供程序和 1049 条“会话中的提供程序”记录。
未验证:其他版本、带无线电模块的机器、ReFS 卷和 RDP 负载;在长时间窗口内禁用遥测时会话的行为。
会话目录从 Autologger 注册表配置中收集:启动标志、文件模式、限制和提供程序。实际状态在开机 2 小时后进行比对:已启动的会话、占用的缓冲区和文件大小。Diagtrack-Listener 的事件量估算基于已写入缓冲区的数量。
自动记录器的组成
Section titled “自动记录器的组成”| 类别 | 会话数 |
|---|---|
| 注册总数 | 39 |
| 按注册表启用(Start=1) | 19 |
| 其中实际已启动 | 17 |
| 开机后写入磁盘 | 9 |
| 存在于内存中(缓冲) | 3 |
| 无文件实时运行 | 5 |
| 无 Start 值的配置(不启动) | 3 |
两个按注册表启用的 Defender 会话实际上不会启动:防护会用其自身权限更低的会话替换它们。
九个文件会话:谁写入多少
Section titled “九个文件会话:谁写入多少”| 会话 | 用途 | 占用 | 特点 |
|---|---|---|---|
| Diagtrack-Listener | 遥测接收器 | 服务运行时无文件 | 约 110 MB 事件/2 小时发送给遥测服务 |
| NetCore | 网络栈诊断 | 22 MB | 预分配文件;已写入约 2.5 MB 事件 |
| RadioMgr | 无线电模块状态 | 6 MB | 预分配;在无 WiFi 的机器上是空白文件 |
| WdiContextLog | 启动和 PnP 诊断 | 2.2 MB | 按启动轮换 |
| NtfsLog | NTFS 跟踪 | 1.7 MB | 轮换 8 个文件;DiagTrack 之后唯一显著的事件流 |
| WiFiSession | WLAN 诊断 | 80 KB | 无 WiFi 时几乎为空 |
| LwtNetLog | 网络诊断 | 64 KB | |
| RdpIdd-Trace | RDP 图形 | 64 KB | |
| ReFSLog | ReFS 跟踪 | 4 KB | 无 ReFS 卷时不写入 |
活动自动记录器文件总共占用 32 MB,其中 28 MB 是 NetCore 和 RadioMgr 的预分配:这种大小的文件始终存在,与实际事件量无关。
Diagtrack-Listener:无文件的重负载流
Section titled “Diagtrack-Listener:无文件的重负载流”只要遥测服务在运行,它就会实时拦截会话:没有文件,但事件流不会消失——约 110 MB/2 小时。该会话连接了 254 个提供程序,其中大多数启用了最高记录级别。如果禁用遥测服务,自动记录器将继续在没有消费者的情况下写入文件——因此必须连同服务一起关闭它。
级别和提供程序
Section titled “级别和提供程序”记录级别不是在会话上设置的,而是在提供程序上设置的。在 1115 个已注册的提供程序中,有 607 个不出现在任何自动记录器中——它们仅在 runtime 会话中连接。在 1049 条“会话中的提供程序”记录中,有 425 个是没有注册名称的 GUID,主要是遥测场景标识符。
已确认的内容
Section titled “已确认的内容”- 观察到: 注册表中有 39 个会话,19 个已启用,17 个实际已启动,9 个写入磁盘。
- 已测量: 活动自动记录器文件占用 32 MB;其中 28 MB 是 NetCore 和 RadioMgr 的预分配。
- 已测量: 在遥测服务运行时,Diagtrack-Listener 记录约 110 MB 事件/2 小时。
- 观察到: 两个 Defender 会话因防护替换而不会启动。
未确认的内容
Section titled “未确认的内容”- 其他版本和配置(WiFi、ReFS、RDP 负载)上的组成和容量。
- 多次启动后轮换文件的长期增长。
- 禁用单个会话对问题可诊断性的影响:在本研究中我们没有禁用任何会话。
一次启动后 2 小时的单次快照;夜间和维护窗口未呈现。Diagtrack-Listener 的量估算基于缓冲区,而非文件。预分配文件始终存在,但其大小并非对“已写入”量的测量。
大规模“禁用所有自动记录器”没有意义:大多数会话本来就不写入磁盘,而三个真正重负载的来源是点状的。如果目标是减少遥测,请将 Diagtrack-Listener 连同遥测服务一起禁用:在 BoosterX 中,这由设置“后台 ETW 自动记录器”完成。如果目标是磁盘空间,请注意 32 MB 中的 28 MB 是两个文件的预分配,而不是不断增长的日志。其余文件会话(NTFS、WDI、网络)的诊断价值,我们会评价为高于其磁盘代价。
本研究纯属观察性:没有禁用或更改任何会话。系统保持原始状态。
目录由 BoosterX Research 在所述虚拟机上收集。本研究归 BoosterX 开发者所有,开发者对结果有直接利益;方法和局限性已在上文描述。
- Microsoft: Configuring and Starting an Autologger Session,验证于 2026-09-22。
- Microsoft: Event Tracing,验证于 2026-09-22。
最后验证:2026-09-22。
