有时你比Windows知道什么文件将在以后重复使用。 假设您有8GB内存,并且在I / O绑定应用程序中每小时使用相同的1GB文件(如果文件被缓存需要1秒钟完成,如果没有则需要1分钟。)现在您处理其他一些16GB内存不会重复使用的数据。当然,经常使用的1GB文件将被推出缓存。如果可以告诉Windows将1GB文件保留在内存中将是有益的。 (更好的是,如果可以告诉Windows不要缓存那些16GB的数据,那将是很好的,但我不乐观这可以做到。)
网络共享中的文件情况更糟:即使有空闲内存,Windows也会从缓存中删除文件。如果你立即重新使用一个文件,它仍然会在缓存中;但是如果你关闭文件并等待30秒,缓存就会消失,系统将需要从远程服务器重新获取文件。对我来说,这是非常明显的,因为我使用的是3 Mbps网络链接,我使用大小约为10 MB的文件。
穷人将文件保存在缓存中的方法是继续读取文件。有没有更好的方法? 你知道有这样做的程序吗?
(如果这可以在Linux下轻松完成,请告诉我。)