Windows 11 25H2 中的 Lazy Writer、NTFS 与 Registry flush
本页内容
这些参数决定 Cache Manager、NTFS 和 Configuration Manager 何时开始写入并释放数据。它们不会改变磁盘本身的速度。MaxLazyWritePages、LargeWriteSize、NtfsMemoryUsage 和 RegistryLazyFlushInterval 由系统代码的不同部分读取,彼此不能替代。增大数值可以减少写入频率,但在写入之前会积累更多数据。
我们检查了什么
Section titled “我们检查了什么”我们检查了系统代码会读取哪些延迟写入、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 会考虑已修改页的积累、文件类型和卷状态。增大阈值时,部分写入会被推迟。阈值过大可能加剧写入突发并增加尚未保存的页数。
只有在特定负载下出现可复现的延迟写入问题时才更改这些参数。对于普通系统,默认值最具可预测性。
NtfsMemoryUsage
Section titled “NtfsMemoryUsage”ntfs.sys 在驱动程序初始化时由 NtfsMemoryUsage 读取,并在选择 NTFS 内存使用规则时予以考虑。在研究跟踪中,系统进程访问了该值。
该参数不会直接切换用户页面缓存的大小。它的影响取决于 NTFS 版本和卷上的负载。
只有在针对大量文件操作的单独存储设备测试中才值得检查该参数。尚未证明它对应用程序具有普遍益处。
RegistryLazyFlushInterval
Section titled “RegistryLazyFlushInterval”Configuration Manager 会定期将注册表配置单元的已更改数据写入磁盘。在 Windows 11 25H2 的代码中,默认间隔设为 60 秒。该参数以秒为单位:0x5000 等于 20480 秒,约 5.7 小时。它在内核初始化开始时被读取,因此普通的启动跟踪可能不包含此事件。
间隔越大,后台写入越少,更改在内存中保留的时间越长。发生断电时,可能丢失更长时间段内的更改。缩短间隔会使写入更频繁,但不会加快注册表读取。
该参数影响数据保存的可靠性和写入计划。如果没有测量到的问题,请保留默认值。
已确认的内容
Section titled “已确认的内容”- 在
ntoskrnl.exe、ntfs.sys和 Cache Manager 机制中发现了读取代码。 - 在所研究的 build
RegistryLazyFlushInterval中,默认值为60秒。 - Cache Manager 可以在运行期间重新读取设置;部分内核参数仅在启动时读取。
- 注册表中存在某个参数并不能证明磁盘或特定应用程序得到加速。
未确认的内容
Section titled “未确认的内容”- 更改参数带来的磁盘或应用程序速度提升。
- 在 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: 首次发布;确认了读取代码、规范化以及参数实际益处的边界。
