Windows 多久刷新一次写入缓存?

Windows 多久刷新一次写入缓存?

假设文件传输完成,Windows 需要多长时间才能刷新写入缓存?

例如,我在硬盘上运行备份(启用了写入缓存)。备份完成后,我关闭驱动器。磁盘 I/O 完成后写入缓存会立即刷新吗,还是需要等待一段时间?

答案1

Windows 以八秒为一个循环窗口刷新其内部文件缓存。也就是说,每秒,缓存中八分之一的脏页都会排队等待写入。实际写入可能需要更长时间。此外,其他因素也可能导致写入延迟。

当您通过“安全断开连接”对话框时,保证会刷新驱动器自己的板载缓存以及 Windows 的缓存。在 Windows 中实际完成写入之前,它不会告诉您“可以安全移除”驱动器报告将其内部缓冲区刷新至介质的命令已完成。

答案2

微软的建议是,除非所连接设备有自己的电源,否则不要关闭写入缓存缓冲区刷新,以防止断电时丢失数据。这直接来自“磁盘属性/策略”选项卡(见下图)。

写入缓存缓冲区刷新

缓冲区应该只在确认写入后刷新,但磁盘缓存存在一些互操作问题。但就断电而言,我们谈论的是几秒钟。也就是说,除非在写入后两秒内发生断电,否则不会丢失数据。

如果在调用 FlushFileBuffers 的过程中断电,则可能只进行部分写入,因为在缓冲区完全刷新之前不会完成完整写入。有一个索引存储指向数据的实际位置。此索引存储首先写入。

相关内容