为了账号安全,请及时绑定邮箱和手机立即绑定

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

/ 猿问

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

POPMUISE 2019-11-25 14:03:47

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


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


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


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


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


查看完整描述

3 回答

?
Qyouu

使用SysInternal的RAMMap应用程序。

清空/清空待机列表菜单选项将清除Windows文件缓存。


查看完整回答
反对 回复 2019-11-25
?
白板的微信

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


查看完整回答
反对 回复 2019-11-25
?
开满天机

命令行实用程序可以在这里找到


从来源:


EmptyStandbyList.exe 是Windows(Vista及更高版本)的命令行工具,可以清空:


处理工作集,

修改后的页面列表,

备用列表(优先级0到7),或

仅优先级为0的备用列表。

用法:


EmptyStandbyList.exe workingsets|modifiedpagelist|standbylist|priority0standbylist

查看完整回答
反对 回复 2019-11-25
  • 3 回答
  • 0 关注
  • 93 浏览
我要回答

相关问题推荐

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信