gpt4 book ai didi

c++ - 使用具有缓存大小限制的 FILE_FLAG_RANDOM_ACCESS 访问文件

转载 作者:可可西里 更新时间:2023-11-01 13:44:51 26 4
gpt4 key购买 nike

我想使用 FILE_FLAG_RANDOM_ACCESS 访问一个文件。但是当通过 FILE_FLAG_RANDOM_ACCESS 访问大文件时,巨大的内存消耗可能会导致系统性能下降。有没有办法限制特定文件句柄的缓存大小?

最佳答案

Windows 不提供设置最大缓存大小的方法,但您自己实现起来相对容易。使用 FILE_FLAG_NO_BUFFERING 打开文件并使用 LRU 列表实现您自己的缓存以确定何时驱逐 block 。请注意,从 Windows Server 2016 开始,FILE_FLAG_RANDOM_ACCESS 在缓存中保留数据的积极性降低,因此这不再是一个问题。但是,Microsoft 仍然建议避免使用此标志。

进一步阅读:Troubleshoot Cache and Memory Manager Performance Issues

关于c++ - 使用具有缓存大小限制的 FILE_FLAG_RANDOM_ACCESS 访问文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24298878/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com