2009-05-18 66 views

回答

0

它可能会有所不同,从Windows版本到Windows版本,以及取决于可用RAM的数量。您不应该依赖任何特定的东西,而应该简单地使用适合您的应用程序的缓冲区大小进行读取和写入。

0

这取决于您拥有多少内存,以及机器的配置方式。服务器通常配置为特权系统缓存。你可能可以用来改变缓存大小发生变化,通过改变以下注册表项

[HKEY_LOCAL_MACHINE \System \CurrentControlSet \Control \Session Manager \Memory Management] LargeSystemCache 

SetSystemFileCacheSize function。但是,据我所知,设置工作集的大小对于操作系统来说更像是一个暗示,而非硬性限制。

在问候你的第二个问题,我不太明白你的意思。我看不出缓冲区的大小是如何影响吞吐量的,但我肯定有人会纠正我,如果我错了。

0

如果你正在使用无缓冲,那么除了你给的读/写之外,实际上没有I/O的缓冲区。 (这是压缩文件,这是一个不同的蜡球除外)。

在这种情况下系统缓存被忽略,这就是为什么您需要(请参阅MSDN)小心对齐和您的大小I/O。

+0

当然,如果您在windows中查看驱动器上的属性并检查选项卡“策略”,则可以看到Windows可以指示控制器缓冲您写入的内容以加速写入操作,即使您指定了无缓冲..... – ROAR 2010-11-16 14:15:08