![Windows Server 2012 写入缓存](https://linux22.com/image/691979/Windows%20Server%202012%20%E5%86%99%E5%85%A5%E7%BC%93%E5%AD%98.png)
从微软:
默认情况下,Windows 会缓存从磁盘读取并写入磁盘的文件数据。[..] 缓存按文件对象进行管理。延迟将数据写入文件并将其保存在缓存中直到缓存刷新的策略称为延迟写入,它由缓存管理器在确定的时间间隔内触发。[..] 刷新文件数据块的时间部分取决于它在缓存中存储的时间以及自上次在读取操作中访问数据以来的时间。
我的问题是 Windows“真正”将文件写入磁盘需要多长时间?
答案1
写缓存的时间通常为秒或更短。以下是Windows 2000 性能指南包含以下详细信息:
缓存管理器程序记录了一系列用于惰性写入算法的常量。这些常量包括 CcFirstDelay,它在第一次访问后将写入延迟三秒;CcIdleDelay,它在空闲周期的一秒内触发写入;以及 CcCollisionDelay,如果推测性惰性写入遇到磁盘繁忙情况,它会触发 100 毫秒的延迟。截至撰写本文时,尚不确定这些控制缓存管理器操作的参数是否已延续到 Windows 2000,但似乎很有可能。
现代 Windows 版本中的写入缓存可能要快得多,尽管我找不到任何相关文档,而且这通常并不重要。如果这是一个问题,那么其他问题就是非常错误,这就是为什么人们通常不关心精确的时间细节。