C# 如何以编程方式清除硬盘缓存?

C# 如何以编程方式清除硬盘缓存?,c#,windows,disk-io,C#,Windows,Disk Io,Windows中是否有清除整个磁盘缓存的方法?我正在磁盘上进行基准测试,并试图衡量我的哪些方法在C#中的性能最好。问题是Windows中的磁盘缓存阻止我获得正确的结果 所以问题是,是否有一种方法可以从Windows磁盘缓存中删除所有缓存文件 SysInternals中的RamMap能够做到这一点,所以一定有办法,但我找不到方法。您可以尝试运行cmd命令来做到这一点。请看一下2013年的情况。@Axelkeper:我不确定FlushFileBuffer是否真的从windows内存管理器中删除了缓存

Windows中是否有清除整个磁盘缓存的方法?我正在磁盘上进行基准测试,并试图衡量我的哪些方法在C#中的性能最好。问题是Windows中的磁盘缓存阻止我获得正确的结果

所以问题是,是否有一种方法可以从Windows磁盘缓存中删除所有缓存文件


SysInternals中的RamMap能够做到这一点,所以一定有办法,但我找不到方法。

您可以尝试运行cmd命令来做到这一点。请看一下2013年的情况。@Axelkeper:我不确定FlushFileBuffer是否真的从windows内存管理器中删除了缓存。RamMap示例告诉我该文件仍然被映射。另外FLushFileBuffers(至少我认为)只是强制写入,对吗?我的文件是以只读模式打开的,没有写入任何内容。这似乎是您想要的,但可能取决于未记录的操作。@NetMage:Thx很多。我要试试这个。