跳转到内容

Windows 11 25H2 中的 Lazy Writer、NTFS 与 Registry flush

本页内容

这些参数决定 Cache Manager、NTFS 和 Configuration Manager 何时开始写入并释放数据。它们不会改变磁盘本身的速度。MaxLazyWritePages、LargeWriteSize、NtfsMemoryUsage 和 RegistryLazyFlushInterval 由系统代码的不同部分读取,彼此不能替代。增大数值可以减少写入频率,但在写入之前会积累更多数据。

我们检查了系统代码会读取哪些延迟写入、NTFS 内存使用和注册表配置单元写入参数,它们的值如何被规范化,以及增大间隔和阈值会带来什么变化。

Windows 11 25H2 build 26200.9168,x64;组件 ntoskrnl.exe 和 ntfs.sys,在 VMware 中进行系统跟踪。未检查真实存储设备和断电故障场景。

分析系统组件,在 boot 和 runtime 跟踪中观察参数读取,检查值的规范化,并与 Microsoft 公开文档进行核对。

Registry path Value Type Default/规范化 Reader 和 timing
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management MaxLazyWritePages REG_DWORD 256 页(客户端 Windows) ntoskrnl.exe,早期 Cache Manager 和 runtime reload
同一路径 LargeWriteSize REG_DWORD 0 — soft throttle 已关闭 ntoskrnl.exe,Cache Manager
HKLM\SYSTEM\CurrentControlSet\Control\FileSystem NtfsMemoryUsage REG_DWORD NTFS 系统默认值 ntfs.sys,驱动程序初始化
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Configuration Manager RegistryLazyFlushInterval REG_DWORD 60 秒 ntoskrnl.exe,Configuration Manager

Lazy Writer:MaxLazyWritePages 和 LargeWriteSize

Section titled “Lazy Writer:MaxLazyWritePages 和 LargeWriteSize”

MaxLazyWritePages 设定 Cache Manager 延迟写入机制的页数。默认情况下,客户端 Windows 11 25H2 使用 256 页,服务器类型的系统使用 2048。可以显式设置的最小值为 1..32768 页。

LargeWriteSize 以 KB 为单位设置,并启用一个单独的大型写入操作软限制机制。在默认值 0 时限制处于关闭状态。例如,值 64 会将延迟写入的每次处理从 256 页减少到 64 页,同时启用对 64 KB 及以上操作的限制。写入变得更频繁,但每次的数据量更小。

页数并不决定单次磁盘操作的精确大小:Cache Manager 会考虑已修改页的积累、文件类型和卷状态。增大阈值时,部分写入会被推迟。阈值过大可能加剧写入突发并增加尚未保存的页数。

只有在特定负载下出现可复现的延迟写入问题时才更改这些参数。对于普通系统,默认值最具可预测性。

ntfs.sys 在驱动程序初始化时由 NtfsMemoryUsage 读取,并在选择 NTFS 内存使用规则时予以考虑。在研究跟踪中,系统进程访问了该值。

该参数不会直接切换用户页面缓存的大小。它的影响取决于 NTFS 版本和卷上的负载。

只有在针对大量文件操作的单独存储设备测试中才值得检查该参数。尚未证明它对应用程序具有普遍益处。

Configuration Manager 会定期将注册表配置单元的已更改数据写入磁盘。在 Windows 11 25H2 的代码中,默认间隔设为 60 秒。该参数以秒为单位:0x5000 等于 20480 秒,约 5.7 小时。它在内核初始化开始时被读取,因此普通的启动跟踪可能不包含此事件。

间隔越大,后台写入越少,更改在内存中保留的时间越长。发生断电时,可能丢失更长时间段内的更改。缩短间隔会使写入更频繁,但不会加快注册表读取。

该参数影响数据保存的可靠性和写入计划。如果没有测量到的问题,请保留默认值。

  • 在 ntoskrnl.exe、ntfs.sys 和 Cache Manager 机制中发现了读取代码。
  • 在所研究的 build RegistryLazyFlushInterval 中,默认值为 60 秒。
  • Cache Manager 可以在运行期间重新读取设置;部分内核参数仅在启动时读取。
  • 注册表中存在某个参数并不能证明磁盘或特定应用程序得到加速。
  • 更改参数带来的磁盘或应用程序速度提升。
  • 在 RAID、NVMe/SATA 和其他文件系统上的行为。
  • 较大的 RegistryLazyFlushInterval 下断电的后果。

对于普通系统,请保留默认值。只有在出现可复现的延迟写入问题时才更改参数,并事先确定尚未保存数据的可接受量。

恢复默认值或删除可选记录。部分内核参数会在下次启动时应用,因此为了进行干净的对比,请重启 Windows。

结果适用于 Windows 11 25H2 build 26200.9168。未检查不同的文件系统、RAID、NVMe/SATA 控制器以及断电后注册表配置单元的故障恢复。

研究和所用工具属于 BoosterX 开发者,因此开发者对结果有直接利益关系。方法和适用范围已在上文描述,结论可通过公开数据和所列公开来源进行验证。

  • Cache Manager:系统缓存架构,Microsoft Learn,检查于 2026-09-01。
  • NTFS overview:NTFS 的用途,Microsoft Learn,检查于 2026-09-01。

公开来源检查于:2026-09-02。

  • 2026-09-20: 添加了关于利益冲突的免责声明。
  • 2026-09-02: 首次发布;确认了读取代码、规范化以及参数实际益处的边界。