清除文件缓存以重复进行性能测试

我可以使用哪些工具或技术来删除缓存的文件内容,以防止性能结果出现偏差?我相信我需要完全清除或有选择地删除有关文件和目录内容的缓存信息。


我正在开发的应用程序是一个专用的压缩实用程序,预计将进行大量工作,以读取和写入操作系统最近未触及的,不太可能缓存其磁盘块的文件。


我希望消除重复执行分析不同策略以执行文件处理工作的任务时在IO时间中看到的可变性。


我主要对Windows XP的解决方案感兴趣,因为这是我的主要开发机器,但我也可以使用linux进行测试,因此也对针对该环境的答案感兴趣。


我尝试了SysInternals CacheSet,但是单击“清除”不会导致重新读取我刚刚读过几次的文件的时间增加(在冷启动后恢复计时)。


POPMUISE
浏览 841回答 3
3回答

Qyouu

使用SysInternal的RAMMap应用程序。清空/清空待机列表菜单选项将清除Windows文件缓存。

白板的微信

对于Windows XP,您应该能够通过使用带有File_FLAG_NO_BUFFERING选项的CreateFile打开文件,然后关闭句柄来清除特定文件的缓存。这没有记录,我也不知道它是否可以在更高版本的Windows上使用,但是我在编写测试代码来比较文件压缩库时使用了很久。我不记得读写访问是否影响了这个技巧。

开满天机

命令行实用程序可以在这里找到从来源:EmptyStandbyList.exe 是Windows(Vista及更高版本)的命令行工具,可以清空:处理工作集,修改后的页面列表,备用列表(优先级0到7),或仅优先级为0的备用列表。用法:EmptyStandbyList.exe workingsets|modifiedpagelist|standbylist|priority0standbylist
打开App,查看更多内容
随时随地看视频慕课网APP