当CreateFile函数被不带标志FILE_FLAG_NO_BUFFERING, 什么是操作系统的内缓冲器?

的大小

如果我的缓冲器大小比视窗的内部缓冲器时,可予 充分利用磁盘的吞吐量?

有帮助吗?

解决方案

有可能变化从视窗版本的Windows版本,以及根据空闲RAM的量。而不是依赖于任何具体的,你应该简单地做读取,并与您的应用程序正常工作缓冲区的大小写。

其他提示

这取决于你有多少RAM,机器的配置方式。服务器通常被配置为特权系统缓存。你可以通过改变以下注册表项更改

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

SetSystemFileCacheSize功能可用于改变高速缓存大小。不过,从我个人理解,设定工作集合大小比硬限制更多的是暗示的操作系统。

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

如果您正在使用无缓冲,真的不是为我一个缓冲器/ O比你给读/写一个其他。 (这被除外的压缩文件,这是蜡的不同的球。)

在系统高速缓存在这种情况下被忽略,这就是为什么你需要(见的 MSDN )要小心调整和您的I / O的大小。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top