我可以使用哪些工具或技術來刪除緩存的文件內容,以防止性能結果出現偏差?我相信我需要完全清除或有選擇地刪除有關文件和目錄內容的緩存信息。我正在開發的應用程序是一個專用的壓縮實用程序,預計將進行大量工作,以讀取和寫入操作系統最近未觸及的,不太可能緩存其磁盤塊的文件。我希望消除重復執行分析不同策略以執行文件處理工作的任務時在IO時間中看到的可變性。我主要對Windows XP的解決方案感興趣,因為這是我的主要開發機器,但我也可以使用linux進行測試,因此也對針對該環境的答案感興趣。我嘗試了SysInternals CacheSet,但是單擊“清除”不會導致重新讀取我剛剛讀過幾次的文件的時間增加(在冷啟動后恢復計時)。
3 回答
白板的微信
TA貢獻1883條經驗 獲得超3個贊
對于Windows XP,您應該能夠通過使用帶有File_FLAG_NO_BUFFERING選項的CreateFile打開文件,然后關閉句柄來清除特定文件的緩存。這沒有記錄,我也不知道它是否可以在更高版本的Windows上使用,但是我在編寫測試代碼來比較文件壓縮庫時使用了很久。我不記得讀寫訪問是否影響了這個技巧。
開滿天機
TA貢獻1786條經驗 獲得超13個贊
命令行實用程序可以在這里找到
從來源:
EmptyStandbyList.exe 是Windows(Vista及更高版本)的命令行工具,可以清空:
處理工作集,
修改后的頁面列表,
備用列表(優先級0到7),或
僅優先級為0的備用列表。
用法:
EmptyStandbyList.exe workingsets|modifiedpagelist|standbylist|priority0standbylist
- 3 回答
- 0 關注
- 1155 瀏覽
添加回答
舉報
0/150
提交
取消
