跳转到内容

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 的系统)会改变活动文件的组成。

我们验证了三个论断:

  1. “禁用自动记录器”是一个单一明确的操作,且活动会话的组成很少。
  2. 自动记录器文件占用大量空间。
  3. 诊断跟踪在空闲时会产生显著的事件流。
  • Windows 11 Pro,build 26300.9457 (26H2),无 WiFi 模块的虚拟机;
  • Autologger 注册表项:全部 39 个会话、其启动标志、文件模式和连接的提供程序;
  • 纯净系统开机 2 小时后会话和文件的实际状态;
  • 1115 个已注册的 ETW 提供程序和 1049 条“会话中的提供程序”记录。

未验证:其他版本、带无线电模块的机器、ReFS 卷和 RDP 负载;在长时间窗口内禁用遥测时会话的行为。

会话目录从 Autologger 注册表配置中收集:启动标志、文件模式、限制和提供程序。实际状态在开机 2 小时后进行比对:已启动的会话、占用的缓冲区和文件大小。Diagtrack-Listener 的事件量估算基于已写入缓冲区的数量。

类别 会话数
注册总数 39
按注册表启用(Start=1) 19
其中实际已启动 17
开机后写入磁盘 9
存在于内存中(缓冲) 3
无文件实时运行 5
无 Start 值的配置(不启动) 3

两个按注册表启用的 Defender 会话实际上不会启动:防护会用其自身权限更低的会话替换它们。

会话 用途 占用 特点
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 个提供程序,其中大多数启用了最高记录级别。如果禁用遥测服务,自动记录器将继续在没有消费者的情况下写入文件——因此必须连同服务一起关闭它。

记录级别不是在会话上设置的,而是在提供程序上设置的。在 1115 个已注册的提供程序中,有 607 个不出现在任何自动记录器中——它们仅在 runtime 会话中连接。在 1049 条“会话中的提供程序”记录中,有 425 个是没有注册名称的 GUID,主要是遥测场景标识符。

  • 观察到: 注册表中有 39 个会话,19 个已启用,17 个实际已启动,9 个写入磁盘。
  • 已测量: 活动自动记录器文件占用 32 MB;其中 28 MB 是 NetCore 和 RadioMgr 的预分配。
  • 已测量: 在遥测服务运行时,Diagtrack-Listener 记录约 110 MB 事件/2 小时。
  • 观察到: 两个 Defender 会话因防护替换而不会启动。
  • 其他版本和配置(WiFi、ReFS、RDP 负载)上的组成和容量。
  • 多次启动后轮换文件的长期增长。
  • 禁用单个会话对问题可诊断性的影响:在本研究中我们没有禁用任何会话。

一次启动后 2 小时的单次快照;夜间和维护窗口未呈现。Diagtrack-Listener 的量估算基于缓冲区,而非文件。预分配文件始终存在,但其大小并非对“已写入”量的测量。

大规模“禁用所有自动记录器”没有意义:大多数会话本来就不写入磁盘,而三个真正重负载的来源是点状的。如果目标是减少遥测,请将 Diagtrack-Listener 连同遥测服务一起禁用:在 BoosterX 中,这由设置“后台 ETW 自动记录器”完成。如果目标是磁盘空间,请注意 32 MB 中的 28 MB 是两个文件的预分配,而不是不断增长的日志。其余文件会话(NTFS、WDI、网络)的诊断价值,我们会评价为高于其磁盘代价。

本研究纯属观察性:没有禁用或更改任何会话。系统保持原始状态。

目录由 BoosterX Research 在所述虚拟机上收集。本研究归 BoosterX 开发者所有,开发者对结果有直接利益;方法和局限性已在上文描述。

最后验证:2026-09-22。