据我了解,默认情况下Windows缓存管理器(我认为它可以由驱动程序配置)的粒度为256 KB,并且整个缓存构成一个工作集。这是否意味着来自内存映射文件的数据将按需以256 KB的块的形式加载到物理内存中,还是仅将单个内存页面(或磁盘扇区,如果更大的话)加载到内存中?
具体来说,我有一个用例,我正在处理一个I / O映射到内存的数据库文件。使用小于256 KB的数据库页面大小会浪费很多缓存容量吗?这是一个重要的问题,因为数据库太大,无法完全加载到物理内存中,但是如果仅缓存使用的数据库页面,则在给定处理期间所需的子集可以完全加载到物理内存中。